comparison nagslang/screens/area.py @ 308:3dee86b6c216

Enemies leave corpses
author Stefano Rivera <stefano@rivera.za.net>
date Fri, 06 Sep 2013 00:36:14 +0200
parents c2bbb1e70d6f
children 72aca01c87ed
comparison
equal deleted inserted replaced
307:c2bbb1e70d6f 308:3dee86b6c216
4 import pymunk 4 import pymunk
5 import pymunk.pygame_util 5 import pymunk.pygame_util
6 6
7 from nagslang.constants import ( 7 from nagslang.constants import (
8 COLLISION_TYPE_WALL, COLLISION_TYPE_PLAYER, CALLBACK_COLLIDERS) 8 COLLISION_TYPE_WALL, COLLISION_TYPE_PLAYER, CALLBACK_COLLIDERS)
9 from nagslang.events import ScreenChange, DoorEvent, FireEvent 9 from nagslang.enemies import DeadEnemy
10 from nagslang.events import ScreenChange, DoorEvent, FireEvent, EnemyDeathEvent
10 from nagslang.level import Level 11 from nagslang.level import Level
11 from nagslang.screens.base import Screen 12 from nagslang.screens.base import Screen
12 from nagslang.game_object import Bullet 13 from nagslang.game_object import Bullet
13 from nagslang.sound import sound 14 from nagslang.sound import sound
14 15
148 # position change is enough 149 # position change is enough
149 elif FireEvent.matches(ev): 150 elif FireEvent.matches(ev):
150 bullet = Bullet(self.space, ev.source, ev.impulse, ev.damage, 151 bullet = Bullet(self.space, ev.source, ev.impulse, ev.damage,
151 ev.source_collision_type) 152 ev.source_collision_type)
152 self._drawables.add(bullet) 153 self._drawables.add(bullet)
154 elif EnemyDeathEvent.matches(ev):
155 self.world.kills += 1
156 dead_enemy = DeadEnemy(self.space, self.world, ev.position,
157 ev.enemy_type)
158 self._drawables.add(dead_enemy)
153 self.keys.handle_event(ev) 159 self.keys.handle_event(ev)
154 160
155 def _calc_viewport(self, level_surface, display_surface): 161 def _calc_viewport(self, level_surface, display_surface):
156 level_size = level_surface.get_size() 162 level_size = level_surface.get_size()
157 display_size = display_surface.get_size() 163 display_size = display_surface.get_size()