from pygame import Surface
import pygame.locals as pgl
from ..loaders.levelloader import levels
-from .base import Scene, ChangeSceneEvent, MoveViewportEvent, AddRoachEvent, defer_to_update
+from .base import Scene, ChangeSceneEvent, MoveViewportEvent, defer_to_update
from ..constants import TILE_SIZE, WIDTH, HEIGHT
+from ..roaches import build_roach
from ..vehicles.base import Vehicle
-from ..roaches import RoachFactory, WorldRoach
class BaseLevelScene(Scene):
def _set_pos(self, x, y):
self._player_pos = (x, y)
- #print('At ', (x, y))
+ # print('At ', (x, y))
def _can_move(self, x, y):
if self._mode == 'walk':
self._roaches.add(self._avatar)
self._set_angle(self._angle)
+ @defer_to_update
+ def _add_roach(self, world):
+ world.roaches.append(build_roach(world))
+ self._vehicle_changed()
+
@defer_to_update
def _change_vehicle(self, world):
vehicle = Vehicle.random()
elif self._level.is_on_friend(x, y):
friend = self._level.remove_friend(x, y)
self._friends.remove(friend)
- self._vehicle_changed()
- return [AddRoachEvent()]
+ self._add_roach()
return
elif key == keys.X:
# Fire