diff demos/rpg/scripts/scene.py @ 512:6ddb1eb9dfa6

Added the Scene which loads the town map. It is no longer a black screen demo. Changed the keys to be more common. Screenshot is now the print screen key. The console is now the backtick key. Screenshots are now date/time stamped as well. Removed the scripts/common directory as I have removed the dependency on the EventListenerBase class.
author prock@33b003aa-7bff-0310-803a-e67f0ece8222
date Fri, 21 May 2010 17:31:08 +0000
parents
children edf5c0cf52f3
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/demos/rpg/scripts/scene.py	Fri May 21 17:31:08 2010 +0000
@@ -0,0 +1,60 @@
+#!/usr/bin/env python
+
+# -*- coding: utf-8 -*-
+
+# ####################################################################
+#  Copyright (C) 2005-2010 by the FIFE team
+#  http://www.fifengine.net
+#  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
+# ####################################################################
+# This is the rio de hola client for FIFE.
+
+import sys, os, re, math, random, shutil
+
+from fife import fife
+from fife.extensions.loaders import loadMapFile
+
+class Scene(object):
+	def __init__(self, gamecontroller):
+		self._gamecontroller = gamecontroller
+		
+		self._map = None
+		self._cameras = {}
+		
+	def createScene(self, mapfilename):
+		if not self._map:
+			self._map = loadMapFile(mapfilename, self._gamecontroller.engine)
+		else:
+			self.destroyScene()
+
+		for cam in self._map.getCameras():
+			self._cameras[cam.getId()] = cam
+		
+		self._cameras[self._gamecontroller.settings.get("RPG", "DefaultCameraName", "camera1")].setZoom(1.0)
+		
+	def destroyScene(self):
+		self._cameras.clear()
+		
+		if self._map:
+			self._gamecontroller.engine.getModel().deleteMap(self._map)
+		
+		self._map = None
+				
+	def updateScene(self):
+		pass
+