Files
wizard_vs_irs/game/inventory.py

33 lines
1.5 KiB
Python

import arcade, arcade.gui
from utils.constants import button_style
class Inventory(arcade.gui.UIBoxLayout):
def __init__(self, items, window_width):
super().__init__(size_hint=(0.75, 0.1), vertical=False, space_between=5)
self.items = items
self.current_inventory_item = 0
self.inventory_buttons: list[arcade.gui.UITextureButton] = []
for n, item in enumerate(items):
self.inventory_buttons.append(self.add(arcade.gui.UIFlatButton(text=f"{item[0]} ({n + 1})", style=button_style, width=(window_width * 0.75) / len(items) + 1)))
self.pay_tax_button = self.add(arcade.gui.UIFlatButton(text="Pay Tax (1000$)", style=button_style, width=(window_width * 0.75) / len(items) + 1))
self.pay_tax_button.style["normal"]["bg"] = arcade.color.GRAY
self.pay_tax_button.style["normal"]["bg"] = arcade.color.GRAY
self.update_selection()
def update_selection(self):
for n in range(len(self.items)):
if n == self.current_inventory_item:
self.inventory_buttons[n].style["normal"] = arcade.gui.UIFlatButton.UIStyle(bg=arcade.color.WHITE, font_color=arcade.color.BLACK)
else:
self.inventory_buttons[n].style["normal"] = arcade.gui.UIFlatButton.UIStyle(bg=arcade.color.GRAY, font_color=arcade.color.BLACK)
self.inventory_buttons[n]._requires_render = True
def select_item(self, number):
self.current_inventory_item = number
self.update_selection()