X-Git-Url: https://git.ctpug.org.za/?a=blobdiff_plain;f=naja%2Fwidgets%2Frobot.py;fp=naja%2Fwidgets%2Frobot.py;h=3518cb0bb8b41253ad89901221ed55cd386602c8;hb=42e40dc4e5a5ae8a11934b5f718c9bd4e91f06ce;hp=b6e219bd0305a68a090f149b5b6301178aa95da5;hpb=b2a1b82d2944517a2d54d597f5933bc3b5a07ca1;p=naja.git diff --git a/naja/widgets/robot.py b/naja/widgets/robot.py index b6e219b..3518cb0 100644 --- a/naja/widgets/robot.py +++ b/naja/widgets/robot.py @@ -2,7 +2,7 @@ import pygame.locals as pgl -from naja.constants import PLAYER_SIZE, BIT_SIZE, TILE_SIZE, BITS +from naja.constants import PLAYER_SIZE, BIT_SIZE, TILE_SIZE, BITS, ACT from naja.events import InvalidateTheWorld from naja.resources import resources from naja.resources.mutators import EIGHT_BIT @@ -39,21 +39,31 @@ class RobotWidget(Widget): surface.blit(self.surface, self.rect) def handle_event(self, ev): + if self.state.gameboard.player_mode == ACT: + return super(RobotWidget, self).handle_event(ev) if ev.type == pgl.KEYDOWN: if ev.key in (pgl.K_UP, pgl.K_w): if self.state.player.move(BITS.NORTH): + self.state.gameboard.change_mode() InvalidateTheWorld.post() return True if ev.key in (pgl.K_DOWN, pgl.K_s): if self.state.player.move(BITS.SOUTH): + self.state.gameboard.change_mode() InvalidateTheWorld.post() return True if ev.key in (pgl.K_LEFT, pgl.K_a): if self.state.player.move(BITS.WEST): + self.state.gameboard.change_mode() InvalidateTheWorld.post() return True if ev.key in (pgl.K_RIGHT, pgl.K_d): if self.state.player.move(BITS.EAST): + self.state.gameboard.change_mode() InvalidateTheWorld.post() return True - super(RobotWidget, self).handle_event(ev) + if ev.key in (pgl.K_SPACE,): + self.state.gameboard.change_mode() + InvalidateTheWorld.post() + return True + return super(RobotWidget, self).handle_event(ev)