コード例 #1
0
ファイル: boxes.py プロジェクト: MichaelMauderer/GeneaCrystal
    def __switchMode(self, amount):
        self.__mode = (self.__mode + amount) % 3
        
        self.__caption.unlink(True)
        if self.__mode == 0:
            captionNode = self._theme.getNode("city_defense")
            
        elif self.__mode == 1:
            captionNode = self._theme.getNode("versus_2")
        else:
            captionNode = self._theme.getNode("versus_3")

        self.__caption = captionNode(
                   pos=(self.size[0] // 10 * 2.5, (self.size[0] // 4 - self.size[0] // 6) // 2),
                   size=(self.size[0] // 2, self.size[1] // 7),
                   parent=self.__mode_div
                   )  
            
        self.__highscore = Highscore(str(self.__mode))
        
        if self.__highscoreDiv:
            self.__highscoreDiv.unlink(True)
        self.__highscoreDiv = avg.DivNode(parent=self)
                
        self.__highscoreDiv.pos = (self.size[0] // 10, self.size[1] // 4)
        self.__highscoreDiv.size = (self.size[0] // 10 * 8, self.size[1] // 4 * 3 - self.size[1] // 10)
        
        self.__highscore.readHighscore()
        for i, entry in enumerate(self.__highscore.entries):
            avg.WordsNode(text=("%02i" % (i + 1)) + ". " + unicode(entry[0]), color="FEFB00", fontsize=20, pos=(0, i * self.size[1] // 16), parent=self.__highscoreDiv)
            avg.WordsNode(text=str(entry[1]) + " ", color="FEFB00", fontsize=20, pos=(self.size[0] // 5 * 4, i * self.size[1] // 16), alignment="right", parent=self.__highscoreDiv)
コード例 #2
0
ファイル: boxes.py プロジェクト: MichaelMauderer/GeneaCrystal
class HighscoreBox(Box):
    
    def __init__(self, mainMenu, theme=themes.StandardTheme(), **kwargs): 
        
        Box.__init__(self, mainMenu, **kwargs)        
        self.__mode = 0
        

        
        highscore_div = avg.DivNode(
                                    pos=(0, 0),
                                    size=(self.size[0], self.size[1]),
                                    parent=self,
                                    )
        
        self.__mode_div = avg.DivNode(pos=(0, 0), size=(self.size[0], self.size[1] // 4), parent=highscore_div)
        
        
        choose_left = MenuButton(
                                   upImg="LessUp",
                                   downImg="LessDown",
                                   pos=(self.size[0] // 8, self.size[0] // 10),
                                   size=(self.size[0] // 8, self.size[1] // 7),
                                   parent=self.__mode_div,
                                   clickHandler=lambda event: self.__switchMode(-1))
        
        self.__caption = self._theme.getNode("city_defense")(
                               pos=(self.size[0] // 10 * 2.5, (self.size[0] // 4 - self.size[0] // 7) // 2),
                               size=(self.size[0] // 2, self.size[1] // 7),
                               parent=self.__mode_div
                               )
        
        choose_right = MenuButton(
                                    upImg="GreaterUp",
                                    downImg="GreaterDown",
                                    pos=(self.size[0] // 8 * 7 , self.size[0] // 10),
                                    size=(self.size[0] // 8, self.size[1] // 7),
                                    parent=self.__mode_div,
                  
                                    clickHandler=lambda event: self.__switchMode(1))
        
        self.appendChild(self._cancel_button)               
        self.active = False
        self.__highscoreDiv = None
        self.__switchMode(0)
        
    def __switchMode(self, amount):
        self.__mode = (self.__mode + amount) % 3
        
        self.__caption.unlink(True)
        if self.__mode == 0:
            captionNode = self._theme.getNode("city_defense")
            
        elif self.__mode == 1:
            captionNode = self._theme.getNode("versus_2")
        else:
            captionNode = self._theme.getNode("versus_3")

        self.__caption = captionNode(
                   pos=(self.size[0] // 10 * 2.5, (self.size[0] // 4 - self.size[0] // 6) // 2),
                   size=(self.size[0] // 2, self.size[1] // 7),
                   parent=self.__mode_div
                   )  
            
        self.__highscore = Highscore(str(self.__mode))
        
        if self.__highscoreDiv:
            self.__highscoreDiv.unlink(True)
        self.__highscoreDiv = avg.DivNode(parent=self)
                
        self.__highscoreDiv.pos = (self.size[0] // 10, self.size[1] // 4)
        self.__highscoreDiv.size = (self.size[0] // 10 * 8, self.size[1] // 4 * 3 - self.size[1] // 10)
        
        self.__highscore.readHighscore()
        for i, entry in enumerate(self.__highscore.entries):
            avg.WordsNode(text=("%02i" % (i + 1)) + ". " + unicode(entry[0]), color="FEFB00", fontsize=20, pos=(0, i * self.size[1] // 16), parent=self.__highscoreDiv)
            avg.WordsNode(text=str(entry[1]) + " ", color="FEFB00", fontsize=20, pos=(self.size[0] // 5 * 4, i * self.size[1] // 16), alignment="right", parent=self.__highscoreDiv)