From deec08cec7a8ddb8bb09fea1ed5ae465d255c823 Mon Sep 17 00:00:00 2001 From: Marcin Kostrzewski Date: Mon, 6 Apr 2020 13:42:56 +0200 Subject: [PATCH] Changed alive checking --- src/game/EventManager.py | 64 +++++++++++++++++++++------------------- 1 file changed, 33 insertions(+), 31 deletions(-) diff --git a/src/game/EventManager.py b/src/game/EventManager.py index 66e8023..0a9cb43 100644 --- a/src/game/EventManager.py +++ b/src/game/EventManager.py @@ -1,3 +1,5 @@ +from time import sleep + import pygame from src.entities.Interactable import Interactable @@ -32,8 +34,9 @@ class EventManager: self.game.screen.ui.updateBasedOnPygameEvent(event) self.keyTimeout += self.keyTimer.tick() if self.keyTimeout >= TIMEOUT: - self.handlePlayerControls(keys) - self.keyTimeout = 0 + if self.player.alive: + self.handlePlayerControls(keys) + self.keyTimeout = 0 self.game.screen.ui.updateBarsBasedOnPlayerStats(self.player.statistics) @@ -41,36 +44,35 @@ class EventManager: # Key names are temporary # TODO: Load key bindings from JSON - if self.player.alive: - # Picking up items - if keys[pygame.K_SPACE]: - object = self.game.map.getEntityOnCoord(self.player.getFacingCoord()) - # Picked up item gets removed from the map - if type(object) is Pickupable: - object.on_interaction(self.player) - self.game.screen.ui.updateOnPlayerPickup(self.player.statistics, object) - self.game.map.removeSpriteFromMap(object) - elif type(object) is Interactable: - object.on_interaction(self.player) - self.game.screen.ui.updateOnPlayerInteraction(self.player.statistics, object) + # Picking up items + if keys[pygame.K_SPACE]: + object = self.game.map.getEntityOnCoord(self.player.getFacingCoord()) + # Picked up item gets removed from the map + if type(object) is Pickupable: + object.on_interaction(self.player) + self.game.screen.ui.updateOnPlayerPickup(self.player.statistics, object) + self.game.map.removeSpriteFromMap(object) + elif type(object) is Interactable: + object.on_interaction(self.player) + self.game.screen.ui.updateOnPlayerInteraction(self.player.statistics, object) - # Movement - if keys[pygame.K_w]: - self.player.rotate(Rotations.NORTH) - if not self.game.map.collision(self.player.rect.x, self.player.rect.y - self.player.rect.w): - self.player.move(Rotations.NORTH) - if keys[pygame.K_s]: - self.player.rotate(Rotations.SOUTH) - if not self.game.map.collision(self.player.rect.x, self.player.rect.y + self.player.rect.w): - self.player.move(Rotations.SOUTH) - if keys[pygame.K_d]: - self.player.rotate(Rotations.EAST) - if not self.game.map.collision(self.player.rect.x + self.player.rect.w, self.player.rect.y): - self.player.move(Rotations.EAST) - if keys[pygame.K_a]: - self.player.rotate(Rotations.WEST) - if not self.game.map.collision(self.player.rect.x - self.player.rect.w, self.player.rect.y): - self.player.move(Rotations.WEST) + # Movement + if keys[pygame.K_w]: + self.player.rotate(Rotations.NORTH) + if not self.game.map.collision(self.player.rect.x, self.player.rect.y - self.player.rect.w): + self.player.move(Rotations.NORTH) + if keys[pygame.K_s]: + self.player.rotate(Rotations.SOUTH) + if not self.game.map.collision(self.player.rect.x, self.player.rect.y + self.player.rect.w): + self.player.move(Rotations.SOUTH) + if keys[pygame.K_d]: + self.player.rotate(Rotations.EAST) + if not self.game.map.collision(self.player.rect.x + self.player.rect.w, self.player.rect.y): + self.player.move(Rotations.EAST) + if keys[pygame.K_a]: + self.player.rotate(Rotations.WEST) + if not self.game.map.collision(self.player.rect.x - self.player.rect.w, self.player.rect.y): + self.player.move(Rotations.WEST)