from screen import Screen
from button import OnOffButton,Button

class SettingScene(Screen):
    def __init__(self,game):
        super(SettingScene,self).__init__(game,False)
        ## a list of tuple (x,y,width,height,color)bbh
        x,y = self.game.width, self.game.height
        self.mode = OnOffButton(x//2,y//2,x//8,y//6,(self.game.world.changeMode,("night",)),(self.game.world.changeMode,("day",)),leftText = "Day",rightText = "Night")
        self.returnBut = Button(20,y-70,100,50,"Return",(255,255,255,255),(0,0,0))
        self.returnBut.changeFunc(self.game.goBack)
        self.mainBut = Button(200,50,200,50,"Save and Return",(255,255,255,255),(0,0,0))
        self.mainBut.changeFunc(self.game.changeScene,"main")

    def screenResize(self,width, height):
        self.mode.on_resize(width//2,height//2,width//8,height//8)
        self.returnBut.on_resize(20,height-70,100,50)
        self.mainBut.on_resize(200,50,200,50)

    def draw(self):
        self._setBGColor(*self.game.world.skyColor())
        self._setup_glbasic()
        self._setup_2d()
        self.mode.draw()
        self.returnBut.draw()
        self.mainBut.draw()

    def update(self,dt):
        pass

    def mouseMove(self, x, y, dx, dy):
        self.returnBut.on_mouse(x,y,(0,255,0,255),(255,255,255))
        self.mainBut.on_mouse(x,y,(0,255,0,255),(255,255,255))

    def mouseClick(self, x, y, button, modifiers):
        self.mode.on_click(x,y)
        self.returnBut.on_click(x,y)
        self.mainBut.on_click(x,y)

    def keyPressed(self, symbol, modifiers):
        pass

    def keyRelease(self, symbol, modifiers):
        pass

    def drawButton(self,text,width, height):
        pass