waited far too long for an initial commit but here we are
This commit is contained in:
39
Scripts/tower_base.gd
Normal file
39
Scripts/tower_base.gd
Normal file
@@ -0,0 +1,39 @@
|
||||
extends StaticBody3D
|
||||
class_name TowerBase
|
||||
|
||||
@export var inventory : Inventory
|
||||
@export var block : CSGBox3D
|
||||
@export var collider : CollisionShape3D
|
||||
@export var minimap_icon : Sprite3D
|
||||
|
||||
var tower = null
|
||||
var has_card : bool :
|
||||
set(_value):
|
||||
return
|
||||
get:
|
||||
return inventory.contents.size() != 0
|
||||
|
||||
|
||||
func add_card(card: Card) -> bool:
|
||||
var result = inventory.add(card)
|
||||
if result:
|
||||
tower = card.turret.instantiate() as Tower
|
||||
tower.stats = card.tower_stats
|
||||
minimap_icon.modulate = Color.RED
|
||||
add_child(tower)
|
||||
return result
|
||||
|
||||
|
||||
func remove_card() -> Card:
|
||||
tower.queue_free()
|
||||
tower = null
|
||||
minimap_icon.modulate = Color.GREEN
|
||||
return inventory.remove()
|
||||
|
||||
|
||||
func set_material(value: StandardMaterial3D):
|
||||
block.material = value
|
||||
|
||||
|
||||
func toggle_collision():
|
||||
collider.disabled = !collider.disabled
|
||||
Reference in New Issue
Block a user