Changeset 168:ce8d4fc3baf4 for nagslang
- Timestamp:
- 09/03/13 12:39:38 (9 years ago)
- Branch:
- default
- Phase:
- public
- Location:
- nagslang
- Files:
-
- 1 added
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
nagslang/constants.py
r107 r168 14 14 COLLISION_TYPE_SWITCH = 3 15 15 COLLISION_TYPE_BOX = 4 16 COLLISION_TYPE_ENEMY = 5 16 17 17 18 SWITCH_PUSHERS = [COLLISION_TYPE_PLAYER, COLLISION_TYPE_BOX] -
nagslang/level.py
r164 r168 3 3 4 4 from nagslang import game_object as go 5 from nagslang import enemies 5 6 from nagslang.resources import resources 6 7 from nagslang.yamlish import load, dump … … 31 32 self._drawables = [] 32 33 self._game_objects = [] 34 self._enemies = [] 33 35 34 36 def _get_data(self): … … 44 46 'polygons': self.polygons, 45 47 'game_objects': self._game_objects, 48 'enemies': self._enemies, 46 49 }, f) 47 50 … … 57 60 for game_object_dict in self._game_objects: 58 61 self._create_game_object(space, **game_object_dict) 62 self._enemies = data.get('enemies', []) 63 for enemy_dict in self._enemies: 64 self._create_enemy(space, **enemy_dict) 59 65 60 66 def _create_game_object(self, space, classname, args, name=None): … … 70 76 raise TypeError( 71 77 "Expected a subclass of Puzzler or GameObject, got %s" % ( 78 classname)) 79 if name is not None: 80 self._glue.add_component(name, gobj) 81 82 def _create_enemy(self, space, classname, args, name=None): 83 cls = getattr(enemies, classname) 84 if issubclass(cls, go.GameObject): 85 gobj = cls(space, *args) 86 self._drawables.append(gobj) 87 else: 88 raise TypeError( 89 "Expected a subclass of GameObject, got %s" % ( 72 90 classname)) 73 91 if name is not None:
Note:
See TracChangeset
for help on using the changeset viewer.