Changeset 112


Ignore:
Timestamp:
06/10/09 15:39:58 (10 years ago)
Author:
bretzel_parpg
Message:

Cleaned up hud.py

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/PARPG/scripts/hud.py

    r107 r112  
    9090 
    9191        self.hud.show() 
     92 
     93    def refreshActionsBox(self): 
     94        """  
     95        Refresh the actions box so that it displays the contents of self.actionsText 
     96        """ 
     97        self.actionsBox.items = self.actionsText 
     98 
     99    def addAction(self, action): 
     100        """  
     101        Add an action to the actions box. 
     102        All this function really does is append action to self.actionsText and then 
     103        call refreshActionsBox 
     104        """ 
     105        self.actionsText.insert(0, action) 
     106        self.refreshActionsBox() 
     107 
     108    def showHUD(self): 
     109        """ 
     110        Show the HUD 
     111        """ 
     112        self.hud.show() 
     113 
     114    def hideHUD(self): 
     115        """ 
     116        Hide the HUD 
     117        """ 
     118        self.hud.hide() 
    92119         
    93120    def initializeMainMenu(self): 
     
    100127        self.main_menu.mapEvents(self.menu_events) 
    101128 
     129    def displayMenu(self): 
     130        """ 
     131        Displays the main in-game menu 
     132        """ 
     133        if (self.menu_displayed == False): 
     134            self.main_menu.show() 
     135            self.menu_displayed = True 
     136        elif (self.menu_displayed == True): 
     137            self.hideMenu() 
     138 
     139    def hideMenu(self): 
     140        """ 
     141        Hides the main in-game menu 
     142        """ 
     143        self.main_menu.hide() 
     144        self.menu_displayed = False 
     145 
    102146    def initializeHelpMenu(self): 
    103147        """Initialize the help menu""" 
     
    115159                "KeybindText":keybindings_text 
    116160                }) 
     161 
     162    def displayHelp(self): 
     163        """ Display the help screen """ 
     164        self.help_dialog.show() 
    117165 
    118166    def initializeOptionsMenu(self): 
     
    142190        self.options_menu.mapEvents(self.options_events) 
    143191 
     192    def requireRestartDialog(self): 
     193        """ 
     194        Show a dialog asking the user to restart PARPG for their changes to take effect 
     195        """ 
     196        require_restart_dialog = pychan.loadXML('gui/hud_require_restart.xml') 
     197        require_restart_dialog.mapEvents({'okButton':require_restart_dialog.hide}) 
     198        require_restart_dialog.show() 
     199 
     200    def applyOptions(self): 
     201        """ 
     202        Apply the current options 
     203        """ 
     204        self.requireRestart = False 
     205        enable_fullscreen, enable_sound, screen_resolution, render_backend = self.options_menu.collectData('FullscreenBox', 'SoundsBox', 'ResolutionBox', 'RenderBox') 
     206 
     207        if (int(enable_fullscreen) != int(self.settings.readSetting('FullScreen'))): 
     208            self.setOption('FullScreen', int(enable_fullscreen)) 
     209            self.requireRestart = True 
     210             
     211        if (int(enable_sound) != int(self.settings.readSetting('PlaySounds'))): 
     212            self.setOption('PlaySounds', int(enable_sound)) 
     213            self.requireRestart = True 
     214 
     215        if (screen_resolution != self.Resolutions.index(str(self.settings.readSetting("ScreenWidth")) + 'x' + str(self.settings.readSetting("ScreenHeight")))): 
     216            self.setOption('ScreenWidth', int(self.Resolutions[screen_resolution].partition('x')[0])) 
     217            self.setOption('ScreenHeight', int(self.Resolutions[screen_resolution].partition('x')[2])) 
     218            self.requireRestart = True 
     219         
     220        if (render_backend == 0): 
     221            render_backend = 'OpenGL' 
     222        else: 
     223            render_backend = 'SDL' 
     224 
     225        if (render_backend != str(self.settings.readSetting("RenderBackend"))): 
     226            self.setOption('RenderBackend', render_backend) 
     227            self.requireRestart = True 
     228 
     229        self.settings.tree.write('settings.xml') 
     230        if (self.requireRestart): 
     231            self.requireRestartDialog() 
     232        self.options_menu.hide() 
     233 
     234    def setOption(self, name, value): 
     235        """ 
     236        Set an option within the xml 
     237        """ 
     238        element = self.settings.root_element.find(name) 
     239        if (element != None): 
     240            if (value != element.text): 
     241                element.text = str(value) 
     242        else: 
     243            print 'Setting,', name, 'does not exist!' 
     244 
    144245    def setToDefaults(self): 
    145246        """ Reset all the options to the options in settings-dist.xml """ 
     
    148249        self.options_menu.hide() 
    149250 
    150     def displayHelp(self): 
    151         """ Display the help screen """ 
    152         self.help_dialog.show() 
    153  
    154  
    155     def refreshActionsBox(self): 
    156         """  
    157         Refresh the actions box so that it displays the contents of self.actionsText 
    158         """ 
    159         self.actionsBox.items = self.actionsText 
    160  
    161  
    162     def addAction(self, action): 
    163         """  
    164         Add an action to the actions box. 
    165         All this function really does is append action to self.actionsText and then 
    166         call refreshActionsBox 
    167         """ 
    168         self.actionsText.insert(0, action) 
    169         self.refreshActionsBox() 
    170  
    171     def requireRestartDialog(self): 
    172         """ 
    173         Show a dialog asking the user to restart PARPG for their changes to take effect 
    174         """ 
    175         require_restart_dialog = pychan.loadXML('gui/hud_require_restart.xml') 
    176         require_restart_dialog.mapEvents({'okButton':require_restart_dialog.hide}) 
    177         require_restart_dialog.show() 
    178  
    179     def applyOptions(self): 
    180         """ 
    181         Apply the current options 
    182         """ 
    183         self.requireRestart = False 
    184         enable_fullscreen, enable_sound, screen_resolution, render_backend = self.options_menu.collectData('FullscreenBox', 'SoundsBox', 'ResolutionBox', 'RenderBox') 
    185  
    186         if (int(enable_fullscreen) != int(self.settings.readSetting('FullScreen'))): 
    187             self.setOption('FullScreen', int(enable_fullscreen)) 
    188             self.requireRestart = True 
    189              
    190         if (int(enable_sound) != int(self.settings.readSetting('PlaySounds'))): 
    191             self.setOption('PlaySounds', int(enable_sound)) 
    192             self.requireRestart = True 
    193  
    194         if (screen_resolution != self.Resolutions.index(str(self.settings.readSetting("ScreenWidth")) + 'x' + str(self.settings.readSetting("ScreenHeight")))): 
    195             self.setOption('ScreenWidth', int(self.Resolutions[screen_resolution].partition('x')[0])) 
    196             self.setOption('ScreenHeight', int(self.Resolutions[screen_resolution].partition('x')[2])) 
    197             self.requireRestart = True 
    198          
    199         if (render_backend == 0): 
    200             render_backend = 'OpenGL' 
    201         else: 
    202             render_backend = 'SDL' 
    203  
    204         if (render_backend != str(self.settings.readSetting("RenderBackend"))): 
    205             self.setOption('RenderBackend', render_backend) 
    206             self.requireRestart = True 
    207  
    208         self.settings.tree.write('settings.xml') 
    209         if (self.requireRestart): 
    210             self.requireRestartDialog() 
    211         self.options_menu.hide() 
    212  
    213     def setOption(self, name, value): 
    214         """ 
    215         Set an option within the xml 
    216         """ 
    217         element = self.settings.root_element.find(name) 
    218         if (element != None): 
    219             if (value != element.text): 
    220                 element.text = str(value) 
    221         else: 
    222             print 'Setting,', name, 'does not exist!' 
    223  
    224251    def displayOptions(self): 
    225252        """ 
     
    227254        """ 
    228255        self.options_menu.show() 
    229  
    230     def displayMenu(self): 
    231         """ 
    232         Displays the main in-game menu 
    233         """ 
    234         if (self.menu_displayed == False): 
    235             self.main_menu.show() 
    236             self.menu_displayed = True 
    237         elif (self.menu_displayed == True): 
    238             self.hideMenu() 
    239  
    240     def hideMenu(self): 
    241         """ 
    242         Hides the main in-game menu 
    243         """ 
    244         self.main_menu.hide() 
    245         self.menu_displayed = False 
    246  
     256     
    247257    def saveGame(self): 
    248258        """ 
     
    256266        """ 
    257267        print "load" 
    258  
    259     def setHP(self, value): 
    260         """ 
    261         Set the HP display on the HUD to value 
    262         NOTE: This does not in any way affect the character's actual health, only what is displayed on the HUD 
    263         """ 
    264         self.hud.findChild(name="healthPoints").text = value 
    265  
    266     def setAP(self, value): 
    267         """ 
    268         Set the AP display on the HUD to value 
    269         NOTE: This does no in any way affect the character's actual AP, only 
    270               what is displayed on the HUD 
    271         """ 
    272         self.hud.findChild(name="actionPoints").text = value 
    273  
    274     def setAC(self, value): 
    275         """ 
    276         Set the armor class on the HUD display (not the characters actual armor class 
    277         """ 
    278         self.hud.findChild(name="armorClass").text = value 
    279268         
    280269    def toggleInventory(self): 
Note: See TracChangeset for help on using the changeset viewer.