repaired display
This commit is contained in:
@ -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()
|
||||
|
Reference in New Issue
Block a user