def show(self): self._hud.addChild(self._menuicons['menuicon']) if self._world._player._hasMap: self._hud.addChild(self._menuicons['mapicon']) if self._world._player._hasZSC: self._hud.addChild(self._menuicons['zscicon']) self._hud.show() hud = self._hud.findChild(name="hud") autoposition.placeWidget(hud, 'center:bottom-25')
def show(self): self._menu.addChild(self._menuicons['newbutton']) if self._world._gamestate == 'LEVEL': self._menu.addChild(self._menuicons['savebutton']) self._menu.addChild(self._menuicons['loadbutton']) else: self._menu.addChild(self._menuicons['loadbutton']) self._menu.addChild(self._menuicons['settingsbutton']) self._menu.addChild(self._menuicons['aboutbutton']) self._menu.addChild(self._menuicons['exitbutton']) self._world._gamestate = 'MENU' self._hud.show() menu = self._hud.findChild(name="container") autoposition.placeWidget(menu, 'right:center')
def __init__(self, guifile, world): self._world = world self._window = pychan.loadXML("gui/about.xml") self._window.mapEvents({ "menuicon/mousePressed" : self._close }) autoposition.placeWidget(self._window, 'center-160:center-275')
def _loadMap(self, filename, purpose, port=False, location=None, direction=None): """ _loadMap Function Deletes the old map and loads a new one. Also initilises cameras. Keyword Arguments filename - String, path to the map file purpose - String, LEVEL or MENU """ self._model.deleteMap(self._map) self._map = None self._npcs = {} self._npclist = False self._mapsettings = SimpleXMLSerializer(filename=filename +".config") self._eventtracker = None if purpose == 'LEVEL': # Hide any active GUIs self._hideAllGuis() # Pump the engine to force it to move to a new frame self._engine.pump() # If the loading menu is loaded, show it if self._loadingmenu != None: self._loadingmenu.show() loadwindow = self._loadingmenu.findChild(name="loadwindow") autoposition.placeWidget(loadwindow, 'automatic') # Load the map self._map = loadMapFile(filename, self._engine, self._loadLevelMapCallback) elif purpose == 'MENU': # Hide any active GUIs self._hideAllGuis() # Pump the engine to force it to move to a new frame self._engine.pump() # If the loading menu is loaded, show it if self._loadingmenu != None: self._loadingmenu.show() loadwindow = self._loadingmenu.findChild(name="loadwindow") autoposition.placeWidget(loadwindow, 'automatic') # Load the map self._map = loadMapFile(filename, self._engine, self._loadMenuMapCallback) # Start (or clear) the camera array self._cameras = {} # For each camera in the map for cam in self._map.getCameras(): # Get the camera ID camera_id = cam.getId() # Add the camera with that ID to the array self._cameras[camera_id] = cam # Reset the camera cam.resetRenderers() if purpose == 'LEVEL': # Start the player character self._startPlayerActor() if location != None: self._player._agent.setLocation(location) if direction != None: self._player._agent.setFacingLocation(direction) if self._hud != None: self._hud.show() self._loadLevelMapCallback("", 0.775) # Start the floating text renderer renderer = fife.FloatingTextRenderer.getInstance(self._cameras['main']) textfont = self._engine.getGuiManager().createFont('fonts/rpgfont.png', 0, str(self._setting.get("FIFE", "FontGlyphs"))) renderer.changeDefaultFont(textfont) renderer.setDefaultBackground(0,0,0,0) renderer.setDefaultBorder(0,0,0,0) renderer.activateAllLayers(self._map) renderer.setEnabled(True) if purpose == 'LEVEL': self._loadLevelMapCallback("", 0.8) else: self._loadMenuMapCallback("", 0.8) if self._mapsettings.get("map", "usewaypoints", False): self._waypoints = self._mapsettings._deserializeList(self._mapsettings.get("map", "waypoints", "")) else: self._waypoints = None if purpose == 'LEVEL': self._loadLevelMapCallback("", 0.825) else: self._loadMenuMapCallback("", 0.825) if self._mapsettings.get("map", "useobjects", False): self._objects = objectmanager.ObjectManager(self) objlist = self._mapsettings._deserializeList(self._mapsettings.get("map", "objectlist", False)) for file in objlist: self._objects._loadObjects(file) if purpose == 'LEVEL': self._loadLevelMapCallback("", 0.85) else: self._loadMenuMapCallback("", 0.85) if self._mapsettings.get("map", "dynamicnpcs", False): self._npclist = self._mapsettings._deserializeDict(self._mapsettings.get("map", "npclist", False)) if self._npclist != False: for id, name in self._npclist.iteritems(): self._npcs[name] = npc.NPC(self._setting, self._model, id, self._map.getLayer('player'), self, True, name) if purpose == 'LEVEL': self._loadLevelMapCallback("", 0.9) else: self._loadMenuMapCallback("", 0.9) self._eventtracker = eventtracker.EventTracker(self._engine, self._model, self._sounds, self) if self._mapsettings.get("map", "useevents", False): eventlist = self._mapsettings._deserializeList(self._mapsettings.get("map", "eventslist", "")) for file in eventlist: self._eventtracker._addEvent(file) if purpose == 'LEVEL': self._loadLevelMapCallback("", 0.95) else: self._loadMenuMapCallback("", 0.95) self._drift = {} self._drift = self._mapsettings._deserializeDict(self._mapsettings.get("map", "drift", "use : False")) if self._drift["use"] == "True": self._drift["use"] = True self._drift["x"] = float(self._drift["x"]) self._drift["y"] = float(self._drift["y"]) start = self._drift["start"].partition(",") loc = fife.Location(self._map.getLayer('player')) loc.setExactLayerCoordinates(fife.ExactModelCoordinate(float(start[0]), float(start[2]))) self._cameras['main'].setLocation(loc) else: self._drift["use"] = False self._gamestate = purpose