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