From 92ab9ae07508f260c58ac12dc401f1b4a1bed111 Mon Sep 17 00:00:00 2001 From: nicomarg Date: Wed, 11 Nov 2020 23:56:08 +0100 Subject: [PATCH] Changed the behaviour of DisplayManager to match previous commit and fixed tests and bootstrap accordingly --- dungeonbattle/bootstrap.py | 2 +- dungeonbattle/display/display_manager.py | 7 +++++++ dungeonbattle/tests/game_test.py | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/dungeonbattle/bootstrap.py b/dungeonbattle/bootstrap.py index a2b5c72..3e16796 100644 --- a/dungeonbattle/bootstrap.py +++ b/dungeonbattle/bootstrap.py @@ -11,5 +11,5 @@ class Bootstrap: game = Game() game.new_game() display = DisplayManager(term_manager.screen, game) - game.display_refresh = display.refresh + game.display_actions = display.handle_display_actions game.run(term_manager.screen) diff --git a/dungeonbattle/display/display_manager.py b/dungeonbattle/display/display_manager.py index c5456bc..beb1ec4 100644 --- a/dungeonbattle/display/display_manager.py +++ b/dungeonbattle/display/display_manager.py @@ -5,6 +5,7 @@ from dungeonbattle.display.menudisplay import MenuDisplay, MainMenuDisplay from dungeonbattle.display.texturepack import TexturePack from typing import Any from dungeonbattle.game import Game, GameMode +from dungeonbattle.enums import DisplayAction class DisplayManager: @@ -23,6 +24,12 @@ class DisplayManager: self.update_game_components() self.settingsmenudisplay.update_menu(self.game.settings_menu) + def handle_display_action(self, action:DisplayAction) -> None: + if action == DisplayAction.REFRESH: + self.refresh() + elif action == DisplayAction.UPDATE: + self.update_game_components() + def update_game_components(self) -> None: for d in self.displays: d.pack = TexturePack.get_pack(self.game.settings.TEXTURE_PACK) diff --git a/dungeonbattle/tests/game_test.py b/dungeonbattle/tests/game_test.py index c9bd8bb..cfded4d 100644 --- a/dungeonbattle/tests/game_test.py +++ b/dungeonbattle/tests/game_test.py @@ -18,7 +18,7 @@ class TestGame(unittest.TestCase): self.game = Game() self.game.new_game() display = DisplayManager(None, self.game) - self.game.display_refresh = display.refresh + self.game.display_actions = display.handle_display_action def test_load_game(self) -> None: self.assertRaises(NotImplementedError, Game.load_game, "game.save")