first commit
This commit is contained in:
32
scripts/core/ShopEntry.gd
Normal file
32
scripts/core/ShopEntry.gd
Normal file
@@ -0,0 +1,32 @@
|
||||
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
|
||||
Reference in New Issue
Block a user