- extends StaticBody
-
- var maker_node
- var material
- var destroy_cost = 20
-
- func _ready():
- get_node("CollisionShape").disabled = true
-
- func init(maker):
- maker_node = maker
-
- material = get_node("MeshInstance").get_surface_material(0)
- if not material:
- material = SpatialMaterial.new()
- get_node("MeshInstance").set_surface_material(0, material)
- material.flags_transparent = true
- material.albedo_color.a = 0.5
-
- func place():
- # Originally, the ghost is disabled to avoid weird physics
- get_node("CollisionShape").disabled = false
- material.flags_transparent = false
-
- sync func destroy():
- maker_node.placement.remove_placed(get_name())
-
- func make_last():
- material.flags_transparent = true
- material.albedo_color.a = 0.9
-
- func out_of_range():
- material.albedo_color.a = 0.2
-
- func within_range():
- material.albedo_color.a = 0.5
-
|