inching towards better class inheritence and multiplayer compatibility

This commit is contained in:
2023-11-15 15:19:40 +11:00
parent f004f64b71
commit 1500c22ccc
204 changed files with 1920 additions and 1951 deletions

View File

@@ -1,7 +0,0 @@
extends Resource
class_name TowerStats
@export var can_target : Data.TargetType
@export var damage := 10.0
@export var fire_range := 20.0
@export var fire_rate := 1.0

View File

@@ -1,6 +0,0 @@
extends Resource
class_name WeaponStats
@export var damage : int
@export var fire_rate : float
@export var fire_range : float

View File

@@ -1,13 +1,13 @@
extends Resource
class_name Card
enum Faction {GENERIC}
enum Faction {GENERIC = 0}
@export var title : String
@export var rarity : Data.Rarity
@export var faction : Faction
@export var faction : Faction
@export var sprite : AtlasTexture
@export var turret : PackedScene
@export var weapon : PackedScene
@export var weapon_stats : WeaponStats
@export var tower_stats : TowerStats
@export var turret_scene : PackedScene
@export var weapon_scene : PackedScene
@export var weapon_stats : CardText
@export var tower_stats : CardText

View File

@@ -0,0 +1,13 @@
extends Resource
class_name CardText
@export var target_type : Data.TargetType
@export var attributes : Array[StatAttribute]
@export_multiline var text : String
func get_attribute(attribute : String) -> float:
for stat in attributes:
if stat.key == attribute:
return stat.value
return 0.0

View File

@@ -0,0 +1,5 @@
extends Resource
class_name StatAttribute
@export var key : String
@export var value : float