From 5ae49e71ff0d14e9890802e1cc2762dc465e5b9b Mon Sep 17 00:00:00 2001 From: Yohann D'ANELLO Date: Fri, 18 Dec 2020 15:36:25 +0100 Subject: [PATCH] Display the amount of hazels in the store menu, closes #49 --- squirrelbattle/display/menudisplay.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/squirrelbattle/display/menudisplay.py b/squirrelbattle/display/menudisplay.py index c5dfda5..9140ca7 100644 --- a/squirrelbattle/display/menudisplay.py +++ b/squirrelbattle/display/menudisplay.py @@ -5,8 +5,9 @@ import curses from random import randint from typing import List -from squirrelbattle.menus import Menu, MainMenu, SettingsMenu +from squirrelbattle.menus import Menu, MainMenu, SettingsMenu, StoreMenu from .display import Box, Display +from ..entities.player import Player from ..enums import KeyValues, GameMode from ..game import Game from ..resources import ResourceManager @@ -144,10 +145,12 @@ class MainMenuDisplay(Display): class PlayerInventoryDisplay(MenuDisplay): + player: Player = None selected: bool = True store_mode: bool = False def update(self, game: Game) -> None: + self.player = game.player self.update_menu(game.inventory_menu) self.store_mode = game.state == GameMode.STORE self.selected = game.state == GameMode.INVENTORY \ @@ -164,6 +167,12 @@ class PlayerInventoryDisplay(MenuDisplay): + (": " + str(item.price) + " Hazels" if self.store_mode else "")) + if self.store_mode: + price = f"{self.pack.HAZELNUT} {self.player.hazel} Hazels" + width = len(price) + (self.pack.tile_width - 1) + self.addstr(self.pad, self.height - 3, self.width - width - 2, + price, italic=True) + @property def truewidth(self) -> int: return max(1, self.height if hasattr(self, "height") else 10) @@ -182,6 +191,7 @@ class PlayerInventoryDisplay(MenuDisplay): class StoreInventoryDisplay(MenuDisplay): + menu: StoreMenu selected: bool = False def update(self, game: Game) -> None: @@ -198,6 +208,11 @@ class StoreInventoryDisplay(MenuDisplay): + " " + item.translated_name.capitalize() + ": " + str(item.price) + " Hazels") + price = f"{self.pack.HAZELNUT} {self.menu.merchant.hazel} Hazels" + width = len(price) + (self.pack.tile_width - 1) + self.addstr(self.pad, self.height - 3, self.width - width - 2, price, + italic=True) + @property def truewidth(self) -> int: return max(1, self.height if hasattr(self, "height") else 10)