Screen is refreshed only when pads are all refreshed, fixes #50
This commit is contained in:
@ -71,6 +71,7 @@ class DisplayManager:
|
||||
|
||||
def refresh(self) -> List[Display]:
|
||||
displays = []
|
||||
pack = TexturePack.get_pack(self.game.settings.TEXTURE_PACK)
|
||||
|
||||
if self.game.state == GameMode.PLAY \
|
||||
or self.game.state == GameMode.INVENTORY \
|
||||
@ -93,16 +94,22 @@ class DisplayManager:
|
||||
|
||||
if self.game.state == GameMode.INVENTORY:
|
||||
self.playerinventorydisplay.refresh(
|
||||
self.rows // 10, self.cols // 2,
|
||||
8 * self.rows // 10, 2 * self.cols // 5)
|
||||
self.rows // 10,
|
||||
pack.tile_width * (self.cols // (2 * pack.tile_width)),
|
||||
8 * self.rows // 10,
|
||||
pack.tile_width * (2 * self.cols // (5 * pack.tile_width)))
|
||||
displays.append(self.playerinventorydisplay)
|
||||
elif self.game.state == GameMode.STORE:
|
||||
self.storeinventorydisplay.refresh(
|
||||
self.rows // 10, self.cols // 2,
|
||||
8 * self.rows // 10, 2 * self.cols // 5)
|
||||
self.rows // 10,
|
||||
pack.tile_width * (self.cols // (2 * pack.tile_width)),
|
||||
8 * self.rows // 10,
|
||||
pack.tile_width * (2 * self.cols // (5 * pack.tile_width)))
|
||||
self.playerinventorydisplay.refresh(
|
||||
self.rows // 10, self.cols // 10,
|
||||
8 * self.rows // 10, 2 * self.cols // 5)
|
||||
self.rows // 10,
|
||||
pack.tile_width * (self.cols // (10 * pack.tile_width)),
|
||||
8 * self.rows // 10,
|
||||
pack.tile_width * (2 * self.cols // (5 * pack.tile_width)))
|
||||
displays.append(self.storeinventorydisplay)
|
||||
displays.append(self.playerinventorydisplay)
|
||||
elif self.game.state == GameMode.MAINMENU:
|
||||
@ -117,7 +124,8 @@ class DisplayManager:
|
||||
for line in self.game.message.split("\n"):
|
||||
height += 1
|
||||
width = max(width, len(line))
|
||||
y, x = (self.rows - height) // 2, (self.cols - width) // 2
|
||||
y = pack.tile_width * (self.rows - height) // (2 * pack.tile_width)
|
||||
x = pack.tile_width * ((self.cols - width) // (2 * pack.tile_width))
|
||||
self.messagedisplay.refresh(y, x, height, width)
|
||||
displays.append(self.messagedisplay)
|
||||
|
||||
|
Reference in New Issue
Block a user