source: trunk/game/scripts/gamestate.py @ 302

Revision 302, 1.5 KB checked in by eliedebrauwer, 10 years ago (diff)

Ticket #73: Patch by Elie De Brauwer, partial fix of load/save, this fixes the map load failure but does not fix the failure to load/save PC and NPC behaviour comment[s:trac, t:73]

  • Property svn:eol-style set to native
Line 
1#!/usr/bin/python
2
3#   This file is part of PARPG.
4
5#   PARPG is free software: you can redistribute it and/or modify
6#   it under the terms of the GNU General Public License as published by
7#   the Free Software Foundation, either version 3 of the License, or
8#   (at your option) any later version.
9
10#   PARPG is distributed in the hope that it will be useful,
11#   but WITHOUT ANY WARRANTY; without even the implied warranty of
12#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13#   GNU General Public License for more details.
14
15#   You should have received a copy of the GNU General Public License
16#   along with PARPG.  If not, see <http://www.gnu.org/licenses/>.
17
18from objects import base
19
20class GameState(object):
21    """This class holds the current state of the game."""
22    def __init__(self):
23        """initialize attributes"""
24        self.PC = None
25        self.objects = {}
26        self.currentMap = None
27        self.currentMapName = None
28       
29    def getObjectsFromMap(self, map_id):
30        """Gets all objects that are currently on the given map.
31           @type map: String
32           @param map: The map name.
33           @returns: The list of objects on this map."""
34        return [i for i in self.objects.values() if i.map_id == map_id]
35   
36    def getObjectById(self, id):
37        """Gets an object by it's id
38           @type id: String
39           @param id: The id of the object.
40           @returns: The object or None."""
41        if id in self.objects:
42            return self.objects[id]
43
Note: See TracBrowser for help on using the repository browser.