Added main menu when launching the game, and fixed menus

This commit is contained in:
Nicolas Margulies
2020-11-10 19:40:59 +01:00
parent 17530f386c
commit 1a1b906c8e
5 changed files with 43 additions and 27 deletions

View File

@ -1,9 +1,10 @@
import curses
from dungeonbattle.display.mapdisplay import MapDisplay
from dungeonbattle.display.statsdisplay import StatsDisplay
from dungeonbattle.display.menudisplay import MainMenuDisplay
from dungeonbattle.display.texturepack import TexturePack
from typing import Any
from dungeonbattle.game import Game
from dungeonbattle.game import Game, GameMode
class DisplayManager:
@ -11,9 +12,11 @@ class DisplayManager:
def __init__(self, screen: Any, g: Game):
self.game = g
self.screen = screen
self.mapdisplay = MapDisplay(screen, self.game.settings.TEXTURE_PACK)
self.statsdisplay = StatsDisplay(screen, self.game.settings.TEXTURE_PACK)
self.displays = [self.statsdisplay, self.mapdisplay]
pack = TexturePack.get_pack(self.game.settings.TEXTURE_PACK)
self.mapdisplay = MapDisplay(screen, pack)
self.statsdisplay = StatsDisplay(screen, pack)
self.mainmenudisplay = MainMenuDisplay(self.game.main_menu, screen, pack)
self.displays = [self.statsdisplay, self.mapdisplay, self.mainmenudisplay]
self.update_game_components()
def update_game_components(self):
@ -23,8 +26,12 @@ class DisplayManager:
self.statsdisplay.update_player(self.game.player)
def refresh(self) -> None:
self.mapdisplay.refresh(0, 0, self.rows * 4 // 5, self.cols)
self.statsdisplay.refresh(self.rows*4//5, 0, self.rows//5, self.cols)
if self.game.state == GameMode.PLAY:
self.mapdisplay.refresh(0, 0, self.rows * 4 // 5, self.cols)
self.statsdisplay.refresh(self.rows*4//5, 0, self.rows//5, self.cols)
if self.game.state == GameMode.MAINMENU:
self.mainmenudisplay.refresh(0,0,self.rows, self.cols)
# self.menudisplay.refresh(self.position)
def ensure_resized(self, *pads) -> bool: