extends Node signal update_currency(amount) var __currency: int var __weapons: Array var __accessories: Array var __categories: Dictionary func _ready() -> void: self.__currency = 100 self.__weapons = [] self.__accessories = [] self.__categories = { 'Weapon': self.__weapons, 'Accessory': self.__accessories} return func get_currency() -> int: return self.__currency func add_currency(amount: int) -> void: self.__currency += amount emit_signal('update_currency', self.__currency) return func add(item) -> void: self.__categories[item.type].append(item) return func discard(item) -> void: var index: int = 0 for itr in self.__categories[item.type]: if itr.equals(item): self.__categories[item.type].remove(index) break index += 1 return