Changeset 402

Show
Ignore:
Timestamp:
04/06/2012 08:41:40 PM (2 years ago)
Author:
ecoughlan
Message:

new menus; back buttons

Files:
9 modified
4 moved

Legend:

Unmodified
Added
Removed
  • src/buildMenu.py

    r356 r402  
    77from inGameMenu import InGameMenu 
    88from buildMenuEntry import BuildMenuEntry 
     9from backButton import BackButton 
    910from buildables import buildingLUT 
     11from dim import buildMenuDim as DIM 
    1012from globals import * 
    1113 
     
    2224        self.category = category 
    2325 
     26        backButton = BackButton((self.pos[0] + DIM.W_SHIFT, 
     27                                 self.pos[1] + DIM.BUT_V_SHIFT), True, 
     28                                ((self.closeWindow,))) 
     29        self.subwindows.append(backButton) 
     30 
    2431        catBuildings = [] 
    2532        for building in buildingLUT.values(): 
     
    2936        # here you will check how many of category buildings there are 
    3037        for i, building in enumerate(catBuildings): 
    31             entry = BuildMenuEntry((self.pos[0] + 20, 180 + ENTRY_SHIFT * i), True, building) 
     38            entry = BuildMenuEntry((self.pos[0] + DIM.W_SHIFT, self.pos[1] + DIM.H_SHIFT + DIM.V_SHIFT * i), True, building) 
    3239            entry.setYesResponse(buildResponse) 
    3340            self.subwindows.append(entry) 
     41 
     42    def setBackResponse(self, response): 
     43        """ 
     44            Sets the back button response 
     45 
     46            input type: function pointer 
     47        """ 
     48        self.subwindows[0].addResponse(response) 
     49 
  • src/dimensions.py

    r358 r402  
    2121ENTRY_H = 100 
    2222ENTRY_W = 460 
    23 ENTRY_SHIFT = 120 
     23ENTRY_SHIFT = 80 
    2424 
    2525# buttons 
  • src/inGameMenu.py

    r392 r402  
    99from rectangle import Rectangle 
    1010from text import Text 
     11from dim import inGameMenuDim as DIM 
    1112from globals import * 
    1213 
     
    2223        Window.__init__(self, pos, visible) 
    2324 
    24         """ 
    25         self.rectangles.append(Rectangle(self.pos, 
    26                                          GAME_MENU_W, 
    27                                          GAME_MENU_H, 
    28                                          BLUE)) 
    29         self.text.append(Text((self.pos[0], self.pos[1] + 17), title, LG_TEXT, 
    30                               WHITE, GAME_MENU_W, True)) 
    31         self.images.append(Image((self.pos[0] + 100, self.pos[1] + 17), 
    32                                  IMG_SM, IMG_SM, iconDir + image)) 
    33         self.images.append(Image((self.pos[0] + 365, self.pos[1] + 17), 
    34                                  IMG_SM, IMG_SM, iconDir + image)) 
    35         """ 
     25        self.images.append(Image(self.pos, DIM.W, DIM.H, buttonDir + "menu")) 
    3626 
    3727    def openWindow(self): 
     
    6959        else: 
    7060            return False 
     61 
     62    def toggleHidden(self): 
     63        """ 
     64            toggles whether the window is hidden 
     65 
     66            input type: none 
     67            output type: none 
     68        """ 
     69        if self.hidden == True: 
     70            self.hidden = False 
     71        else: 
     72            self.hidden = True 
     73        for window in self.subwindows: 
     74                window.toggleHidden() 
  • src/info.py

    r382 r402  
    5050 
    5151        self.icon = (iconDir + building.imageFileName) 
    52      
     52 
    5353    def createFromResearch(self, researchCat, isDetailed=False, nextUnlock=("",0)): 
    5454        """ 
    5555            Create an info struct from the researchCat 
    56              
     56 
    5757            input type: int(researchCat) 
    5858        """ 
     
    6767            self.text = "Nothing more to unlock." 
    6868         
    69         self.icon = (iconDir + CAT_LUT[researchCat]) 
     69        self.icon = (buttonDir + CAT_LUT[researchCat]) 
  • src/main.py

    r392 r402  
    9696    ########################################################################### 
    9797 
    98     buildTransMenu = buildMenu.BuildMenu((100, 100), False, 'TRANSPORTATION', 
     98    buildTransMenu = buildMenu.BuildMenu((100, 180), False, 'TRANSPORTATION', 
    9999                                         'build', TRANSPORTATION, 
    100100                                         newTop.build) 
    101     buildMaterialMenu = buildMenu.BuildMenu((100, 100), False, 'MATERIAL', 
     101    buildMaterialMenu = buildMenu.BuildMenu((100, 180), False, 'MATERIAL', 
    102102                                            'build', MATERIALS, 
    103103                                            newTop.build) 
    104     buildPowerMenu = buildMenu.BuildMenu((100, 100), False, 'POWER', 'build', 
     104    buildPowerMenu = buildMenu.BuildMenu((100, 180), False, 'POWER', 'build', 
    105105                                         POWER, newTop.build) 
    106106 
    107107    buildPowerInfo = info.Info('power', 
    108108                                                 "This is where text would go.", 
    109                                                  iconDir + "power") 
    110     buildPowerButton = menuEntry.MenuEntry((120, 180 + ENTRY_SHIFT * 0), False, 
     109                                                 buttonDir + "power") 
     110    buildPowerButton = menuEntry.MenuEntry((120, 280 + ENTRY_SHIFT * 0), False, 
    111111                                           buildPowerInfo) 
    112     buildPowerButton.addResponse((buildPowerMenu.toggle,)) 
     112    buildPowerButton.addResponse((buildPowerMenu.openWindow,)) 
    113113 
    114114    buildTransInfo = info.Info('transportation', 
    115115                                                 "This is where text would go.", 
    116                                                  iconDir + "transportation") 
    117     buildTransButton = menuEntry.MenuEntry((120, 180 + ENTRY_SHIFT * 1), 
     116                                                 buttonDir + "transportation") 
     117    buildTransButton = menuEntry.MenuEntry((120, 280 + ENTRY_SHIFT * 1), 
    118118                                                    False, buildTransInfo) 
    119     buildTransButton.addResponse((buildTransMenu.toggle,)) 
     119    buildTransButton.addResponse((buildTransMenu.openWindow,)) 
    120120 
    121121    buildMatInfo = info.Info('material', 
    122122                                                "This is where text would go.", 
    123                                                 iconDir + "material") 
    124     buildMaterialButton = menuEntry.MenuEntry((120, 180 + ENTRY_SHIFT * 2), 
     123                                                buttonDir + "material") 
     124    buildMaterialButton = menuEntry.MenuEntry((120, 280 + ENTRY_SHIFT * 2), 
    125125                                              False, buildMatInfo) 
    126     buildMaterialButton.addResponse((buildMaterialMenu.toggle,)) 
    127  
    128     buildCatMenu = inGameMenu.InGameMenu((100, 100), False, 
     126    buildMaterialButton.addResponse((buildMaterialMenu.openWindow,)) 
     127 
     128    buildCatMenu = inGameMenu.InGameMenu((100, 180), False, 
    129129                                         'BUILD MENU', 'build') 
     130 
     131    buildPowerButton.addResponse((buildCatMenu.toggleHidden,)) 
     132    buildTransButton.addResponse((buildCatMenu.toggleHidden,)) 
     133    buildMaterialButton.addResponse((buildCatMenu.toggleHidden,)) 
     134 
     135    buildTransMenu.setBackResponse((buildCatMenu.toggleHidden,)) 
     136    buildMaterialMenu.setBackResponse((buildCatMenu.toggleHidden,)) 
     137    buildPowerMenu.setBackResponse((buildCatMenu.toggleHidden,)) 
    130138 
    131139    buildPowerButton.addWindow(buildPowerMenu) 
     
    139147    ########################################################################### 
    140148 
    141     researchCatMenu = researchMenu.ResearchMenu((100, 100), False, 'RESEARCH MENU', 
     149    researchCatMenu = researchMenu.ResearchMenu((100, 180), False, 'RESEARCH MENU', 
    142150                                         'research', newTop.research) 
    143151 
  • src/menuEntry.py

    r356 r402  
    99from text import Text 
    1010from image import Image 
     11from dim import menuEntryDim as DIM 
    1112from globals import * 
    1213 
     
    1617        Window.__init__(self, pos, visible) 
    1718 
     19        """ 
    1820        self.rectangles.append(Rectangle(self.pos, ENTRY_W, ENTRY_H, CYAN)) 
    1921        self.text.append(Text((self.pos[0] + 10, self.pos[1] + 10), 
     
    2325        self.images.append(Image((self.pos[0] + 370, self.pos[1] + 10), 
    2426                                 ICON_SIZE, ICON_SIZE, info.icon)) 
     27        """ 
     28 
     29        self.images.append(Image(self.pos, DIM.W, DIM.H, info.icon)) 
  • src/researchMenu.py

    r381 r402  
    77from inGameMenu import InGameMenu 
    88from researchMenuEntry import ResearchMenuEntry 
     9from dim import researchMenuDim as DIM 
    910from globals import * 
    1011 
     
    2324 
    2425        for i, cat in enumerate(researchCat): 
    25             entry = ResearchMenuEntry((self.pos[0] + 20, 180 + ENTRY_SHIFT * i), True, cat) 
     26            entry = ResearchMenuEntry((self.pos[0] + DIM.W_SHIFT, self.pos[1] + DIM.H_SHIFT + DIM.V_SHIFT * i), True, cat) 
    2627            entry.setYesResponse(researchResponse) 
    2728            self.subwindows.append(entry) 
  • src/researchMenuEntry.py

    r383 r402  
    2525        self.subwindows.append(popup) 
    2626        self.addResponse((popup.toggle,)) 
    27      
     27 
    2828    def setYesResponse(self, response): 
    2929        """ 
  • src/window.py

    r378 r402  
    2020        self.subwindows = [] 
    2121        self.visible = visible 
     22        self.hidden = False 
    2223        self.text = [] 
    2324        self.images = [] 
     
    104105        """ 
    105106        if self.visible == True: 
    106             for i in range(len(self.rectangles)): 
    107                 self.rectangles[i].render(surface) 
    108             for i in range(len(self.images)): 
    109                 self.images[i].render(surface) 
    110             for i in range(len(self.text)): 
    111                 self.text[i].render(surface) 
     107            if self.hidden == False: 
     108                for i in range(len(self.rectangles)): 
     109                    self.rectangles[i].render(surface) 
     110                for i in range(len(self.images)): 
     111                    self.images[i].render(surface) 
     112                for i in range(len(self.text)): 
     113                    self.text[i].render(surface) 
    112114            for window in reversed(self.subwindows): 
    113115                window.render(surface) 
     
    177179            return type: none 
    178180        """ 
     181        self.hidden = False 
    179182        self.visible = False 
    180183        self.closeSubWindows() 
     
    209212            return type: none 
    210213        """ 
     214        self.hidden = False 
    211215        self.visible = True 
    212216 
     
    220224        for window in self.subwindows: 
    221225            window.openWindow() 
     226 
     227    def toggleHidden(self): 
     228        """ 
     229            toggles whether the window is hidden 
     230 
     231            input type: none 
     232            output type: none 
     233        """ 
     234        if self.hidden == True: 
     235            self.hidden = False 
     236        else: 
     237            self.hidden = True 
    222238 
    223239    def addWindow(self, window):