class_name ShopEntry extends RefCounted var role: int var element: int = -1 ## -1 = elementlos var sold: bool = false func _init(p_role: int = 0, p_element: int = -1) -> void: role = p_role element = p_element func price() -> int: return Data.PRICE_NONE if element < 0 else Data.PRICE_ELEMENT func color() -> Color: return Data.NONE_COLOR if element < 0 else Data.ELEMENT_COLORS[element] func label() -> String: var e: String = "Neutral" if element < 0 else Data.ELEMENT_NAMES[element] return e + "\n" + Data.ROLE_NAMES[role] ## Neutrale Avatare bekommen die beim Kauf gewählte Spezialisierung. func to_avatar(chosen_element: int) -> Avatar: var e := element if element >= 0 else chosen_element var a := Avatar.new(role, [e] as Array[int], 1) a.invested = price() return a