Files
elements-autochess/scripts/core/ShopEntry.gd
2026-08-29 11:42:54 +02:00

33 lines
796 B
GDScript

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