Mercurial > parpg-core
comparison src/parpg/gamestate.py @ 104:de741e83a422
Objects that are not on an actual map are now stored under the value None in the gamestates object dictionary.
author | KarstenBock@gmx.net |
---|---|
date | Thu, 22 Sep 2011 14:39:00 +0200 |
parents | 65aa498791ed |
children | 7829eb185d6f |
comparison
equal
deleted
inserted
replaced
103:65aa498791ed | 104:de741e83a422 |
---|---|
38 @type map_id: str or None | 38 @type map_id: str or None |
39 @param object: object to be added | 39 @param object: object to be added |
40 @type object: GameObject | 40 @type object: GameObject |
41 """ | 41 """ |
42 if not self.object_ids.has_key(object_id): | 42 if not self.object_ids.has_key(object_id): |
43 if map_id: | 43 self.objects[map_id][object_id] = game_object |
44 self.objects[map_id][object_id] = game_object | |
45 self.object_ids[object_id] = map_id | 44 self.object_ids[object_id] = map_id |
46 | 45 |
47 def deleteObject(self, object_id): | 46 def deleteObject(self, object_id): |
48 """Removes an object from the dictionaries | 47 """Removes an object from the dictionaries |
49 @param object_id: ID of the object | 48 @param object_id: ID of the object |
52 if self.hasObject(object_id): | 51 if self.hasObject(object_id): |
53 map_id = self.getMapOfObject(object_id) | 52 map_id = self.getMapOfObject(object_id) |
54 if map_id: | 53 if map_id: |
55 inst = self.maps[map_id].agent_layer.getInstance(object_id) | 54 inst = self.maps[map_id].agent_layer.getInstance(object_id) |
56 self.maps[map_id].agent_layer.deleteInstance(inst) | 55 self.maps[map_id].agent_layer.deleteInstance(inst) |
57 del self.objects[map_id][object_id] | 56 del self.objects[map_id][object_id] |
58 del self.object_ids[object_id] | 57 del self.object_ids[object_id] |
59 | 58 |
60 | 59 |
61 def getObjectsFromMap(self, map_id): | 60 def getObjectsFromMap(self, map_id): |
62 """Gets all objects that are currently on the given map. | 61 """Gets all objects that are currently on the given map. |