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