20 lines
414 B
GDScript
20 lines
414 B
GDScript
class_name Building
|
|
extends CollisionObject3D
|
|
|
|
var health := 10.
|
|
|
|
func _ready() -> void:
|
|
scale.y = randf_range(.5, 1.25)
|
|
|
|
func hit(_proj: PlayerProjectile, damage: float) -> bool:
|
|
health -= damage
|
|
if health <= 0.:
|
|
print("boom!")
|
|
SignalBus.building_destroyed.emit(self)
|
|
collision_layer = 1 # World collision only
|
|
|
|
%Mesh.hide()
|
|
%DestroyedMesh.show()
|
|
%GPUParticles3D.preprocess = randf()
|
|
|
|
return true
|