26 lines
655 B
GDScript
26 lines
655 B
GDScript
class_name Cassette
|
|
extends Item
|
|
|
|
enum Role {
|
|
GENERIC = 0,
|
|
ENGINEER = 1,
|
|
MAGE = 2,
|
|
}
|
|
|
|
@export var cost: int
|
|
@export var rarity: Data.Rarity
|
|
@export var role: Role
|
|
@export var turret_scene: PackedScene
|
|
@export var weapon_scene: PackedScene
|
|
@export var weapon_stats: CassetteText
|
|
@export var tower_stats: CassetteText
|
|
@export var tags: Array[Data.cassetteTags]
|
|
|
|
|
|
static func get_role_cassettes(role: Cassette.Role, cassettes: Array[Cassette] = Data.cassettes) -> Array[Cassette]:
|
|
var valid_cassettes: Array[Cassette] = []
|
|
for cassette: Cassette in Data.cassettes:
|
|
if cassette.role == role:
|
|
valid_cassettes.append(cassette)
|
|
return valid_cassettes
|