Changed settings menu to let the display decide how the settings are printed
This commit is contained in:
@ -1,7 +1,7 @@
|
||||
import curses
|
||||
from dungeonbattle.display.mapdisplay import MapDisplay
|
||||
from dungeonbattle.display.statsdisplay import StatsDisplay
|
||||
from dungeonbattle.display.menudisplay import MenuDisplay, MainMenuDisplay
|
||||
from dungeonbattle.display.menudisplay import SettingsMenuDisplay, MainMenuDisplay
|
||||
from dungeonbattle.display.texturepack import TexturePack
|
||||
from typing import Any
|
||||
from dungeonbattle.game import Game, GameMode
|
||||
@ -18,7 +18,7 @@ class DisplayManager:
|
||||
self.statsdisplay = StatsDisplay(screen, pack)
|
||||
self.mainmenudisplay = MainMenuDisplay(self.game.main_menu,
|
||||
screen, pack)
|
||||
self.settingsmenudisplay = MenuDisplay(screen, pack)
|
||||
self.settingsmenudisplay = SettingsMenuDisplay(screen, pack)
|
||||
self.displays = [self.statsdisplay, self.mapdisplay,
|
||||
self.mainmenudisplay, self.settingsmenudisplay]
|
||||
self.update_game_components()
|
||||
|
@ -59,6 +59,10 @@ class MenuDisplay(Display):
|
||||
def values(self) -> List[str]:
|
||||
return [str(a) for a in self.menu.values]
|
||||
|
||||
class SettingsMenuDisplay(MenuDisplay):
|
||||
@property
|
||||
def values(self) -> List[str]:
|
||||
return [ a[1][1] + (" : " + ("?" if self.menu.waiting_for_key else a[1][0]) if a[1][0] else "") for a in self.menu.values ]
|
||||
|
||||
class MainMenuDisplay(Display):
|
||||
def __init__(self, menu: MainMenu, *args):
|
||||
|
Reference in New Issue
Block a user