repaired display

This commit is contained in:
eichhornchen
2020-11-09 01:33:23 +01:00
parent 8d5d9d38ff
commit a4876bb7af
7 changed files with 118 additions and 65 deletions

View File

@ -2,14 +2,28 @@ import curses
from typing import Any, Union
from dungeonbattle.tests.screen import FakePad
from dungeonbattle.display.mapdisplay import MapDisplay
from dungeonbattle.display.statsdisplay import StatsDisplay
from dungeonbattle.display.menudisplay import MenuDisplay
from dungeonbattle.interfaces import Map
from .entities.player import Player
class Display:
def __init__(self, screen: Any):
map: Map
player: Player
def __init__(self, screen: Any, texture: Any):
self.screen = screen
self.texture = texture
self.mapdisplay = MapDisplay(self.screen, self.texture, curses.LINES * 4//5, curses.COLS)
self.statsdisplay = StatsDisplay(self.screen, curses.LINES//5, curses.COLS)
def refresh(self) -> None:
raise NotImplementedError
def refresh(self, m : Map, p : Player) -> None:
self.map = m
self.player = p
self.mapdisplay.refresh(m, p, )
self.statsdisplay.refresh(self.player)
self.menudisplay.refresh(self.position)
def newpad(self, height: int, width: int) -> Union[FakePad, Any]:
return curses.newpad(height, width) if self.screen else FakePad()