Mercurial > fife-parpg
diff demos/rpg/scripts/gamecontroller.py @ 543:cb7ec12214a9
Items can now be serialized/deserialized to/from disk. I haven't finished actors yet. This allows for persistent states when you enter/leave maps.
author | prock@33b003aa-7bff-0310-803a-e67f0ece8222 |
---|---|
date | Wed, 02 Jun 2010 21:43:03 +0000 |
parents | 2e739ae9a8bc |
children | bc7e3c3122d7 |
line wrap: on
line diff
--- a/demos/rpg/scripts/gamecontroller.py Tue Jun 01 21:38:14 2010 +0000 +++ b/demos/rpg/scripts/gamecontroller.py Wed Jun 02 21:43:03 2010 +0000 @@ -24,7 +24,7 @@ # #################################################################### # This is the rio de hola client for FIFE. -import sys, os, re, math, random, shutil +import sys, os, re, math, random, shutil, glob from fife import fife @@ -258,6 +258,9 @@ def newGame(self): self._guicontroller.hideMainMenu() + for filename in glob.glob("saves\*.xml"): + os.remove(filename) + mapname = self._settings.get("RPG", "TownMapFile", "town") self.loadMap(mapname) @@ -273,7 +276,8 @@ self._scene = None self._scene = Scene(self) - self._scene.createScene("maps/" + mapname + ".xml") + + self._scene.createScene(mapname) self._instancerenderer = fife.InstanceRenderer.getInstance(self._scene.cameras[self._settings.get("RPG", "DefaultCameraName", "camera1")]) self._floatingtextrenderer = fife.FloatingTextRenderer.getInstance(self._scene.cameras[self._settings.get("RPG", "DefaultCameraName", "camera1")]) @@ -285,9 +289,13 @@ def switchMap(self, newmapname): self._switchmaprequested = True self._newmap = newmapname + + self._scene.serialize() def endGame(self): if self._scene: + self._scene.serialize() + self._listener.detach() self._scene.destroyScene() self._scene = None