Extract clicks on collidables to new method - make code clear
This commit is contained in:
parent
013e8b524d
commit
a6b717935f
@ -42,19 +42,7 @@ class EventManager:
|
||||
if event.type == pygame.MOUSEBUTTONUP:
|
||||
pos = pygame.mouse.get_pos()
|
||||
|
||||
# get a list of all sprites that are under the mouse cursor
|
||||
clicked_collidables = [s for s in self.game.map.collidables if s.rect.collidepoint(pos)]
|
||||
# do something with the clicked sprites...
|
||||
if len(clicked_collidables) > 0:
|
||||
self.game.movement.gotoToTarget(Random().choice(clicked_collidables))
|
||||
else:
|
||||
clicked_terrains = [tile for tile in self.game.map.terrainTilesList if tile.rect.collidepoint(pos)]
|
||||
if len(clicked_terrains) > 0:
|
||||
print("Terrains under clik:")
|
||||
for terrain in clicked_terrains:
|
||||
print(terrain)
|
||||
else:
|
||||
print("NO TERRAIN FOUND UNDER CLICK")
|
||||
self.handleClickingOnCollidablesAndTerrains(pos)
|
||||
|
||||
self.game.screen.ui.updateBasedOnPygameEvent(event)
|
||||
self.keyTimeout += self.keyTimer.tick()
|
||||
@ -68,6 +56,22 @@ class EventManager:
|
||||
|
||||
self.game.screen.ui.updateBarsBasedOnPlayerStats(self.player.statistics)
|
||||
|
||||
def handleClickingOnCollidablesAndTerrains(self, pos):
|
||||
# get a list of all collidables that are under the mouse cursor
|
||||
clicked_collidables = [s for s in self.game.map.collidables if s.rect.collidepoint(pos)]
|
||||
|
||||
if len(clicked_collidables) > 0:
|
||||
self.game.movement.gotoToTarget(Random().choice(clicked_collidables))
|
||||
else:
|
||||
# get a list of all terrains that are under the mouse cursor
|
||||
clicked_terrains = [tile for tile in self.game.map.terrainTilesList if tile.rect.collidepoint(pos)]
|
||||
if len(clicked_terrains) > 0:
|
||||
print("Terrains under clik:")
|
||||
for terrain in clicked_terrains:
|
||||
print(terrain)
|
||||
else:
|
||||
print("NO TERRAIN FOUND UNDER CLICK")
|
||||
|
||||
def handlePlayerControls(self, keys):
|
||||
# Key names are temporary
|
||||
# TODO: Load key bindings from JSON
|
||||
|
Loading…
Reference in New Issue
Block a user