Changeset 402


Ignore:
Timestamp:
04/06/12 20:41:40 (3 years ago)
Author:
ecoughlan
Message:

new menus; back buttons

Files:
9 edited
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):
Note: See TracChangeset for help on using the changeset viewer.