Mercurial > fife-parpg
view demos/shooter/scripts/gui/guis.py @ 456:41fd97da94d1
Moved guis to their own file.
Added a continue button to the main menu.
author | prock@33b003aa-7bff-0310-803a-e67f0ece8222 |
---|---|
date | Wed, 07 Apr 2010 21:26:26 +0000 |
parents | |
children | 597b066d5ccb |
line wrap: on
line source
# -*- coding: utf-8 -*- # #################################################################### # Copyright (C) 2005-2009 by the FIFE team # http://www.fifengine.de # This file is part of FIFE. # # FIFE is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the # Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # #################################################################### from fife import fife from fife.extensions import pychan from fife.extensions.pychan import widgets class MainMenu(object): def __init__(self, world): self._world = world self._widget = pychan.loadXML('gui/mainmenu.xml') self._continue = self._widget.findChild(name="continue") self._newgame = self._widget.findChild(name="new_game") self._credits = self._widget.findChild(name="credits") self._highscores = self._widget.findChild(name="high_scores") self._quit = self._widget.findChild(name="quit") self._widget.position = (0,0) eventMap = { 'continue': self._world.continueGame, 'new_game': self._world.newGame, 'credits': self._world.showCredits, 'high_scores': self._world.showHighScores, 'quit': self._world.quit, } self._widget.mapEvents(eventMap) self._continueMinWidth = self._continue.min_width self._continueMinHeight = self._continue.min_height self._continueMaxWidth = self._continue.max_width self._continueMaxHeight = self._continue.max_height def show(self, cont=False): if cont: self._continue.min_width = self._continueMinWidth self._continue.min_height = self._continueMinHeight self._continue.max_width = self._continueMaxWidth self._continue.max_height = self._continueMaxHeight else: self._continue.min_width = 0 self._continue.min_height = 0 self._continue.max_width = 0 self._continue.max_height = 0 self._continue.adaptLayout() self._widget.show() def hide(self): self._widget.hide() class HeadsUpDisplay(object): def __init__(self, world): self._world = world self._widget = pychan.loadXML('gui/hud.xml') self._fpstext = self._widget.findChild(name="fps") self._velocitytext = self._widget.findChild(name="velocity") self._positiontext = self._widget.findChild(name="position") self._scoretext = self._widget.findChild(name="score") self._widget.position = (0,0) def show(self): self._widget.show() def hide(self): self._widget.hide() def setFPSText(self, text): self._fpstext.text = text def setPositionText(self, text): self._positiontext.text = text def setVelocityText(self, text): self._velocitytext.text = text def setScoreText(self, text): self._scoretext.text = text