Null check in laser-cast ID association
Some checks failed
linting & formatting / build (push) Failing after 32s

This commit is contained in:
Rob Kelly 2025-09-08 19:59:59 -06:00
parent 22de43fa6f
commit f9c62e02aa

View File

@ -28,6 +28,18 @@ func _process(_delta: float) -> void:
(c as Node3D).global_position = child_pos
var collider: Object = get_collider()
if is_instance_valid(collider):
_connect_gunkable(collider)
laser_dust.emitting = true
glow_light.visible = true # TODO: tween maybe?
else:
laser_dust.emitting = false
glow_light.visible = false
func _connect_gunkable(collider: Object) -> void:
var new_gunk_id: int = collider.get_instance_id()
if new_gunk_id != gunk_id:
gunk_id = new_gunk_id
@ -38,26 +50,13 @@ func _process(_delta: float) -> void:
if gunkable.clear_total_updated.is_connected(
grunk_dust._on_gunkable_clear_total_updated
):
gunkable.clear_total_updated.disconnect(
grunk_dust._on_gunkable_clear_total_updated
)
gunkable.clear_total_updated.disconnect(grunk_dust._on_gunkable_clear_total_updated)
gunkable = Gunkable.get_component(collider)
if gunkable:
# Connect signals of new gunkable to our gunk dust
if !gunkable.painted_at_point.is_connected(
grunk_dust._on_gunkable_painted_at_point
):
if !gunkable.painted_at_point.is_connected(grunk_dust._on_gunkable_painted_at_point):
gunkable.painted_at_point.connect(grunk_dust._on_gunkable_painted_at_point)
if !gunkable.clear_total_updated.is_connected(
grunk_dust._on_gunkable_clear_total_updated
):
gunkable.clear_total_updated.connect(
grunk_dust._on_gunkable_clear_total_updated
)
laser_dust.emitting = true
glow_light.visible = true # TODO: tween maybe?
else:
laser_dust.emitting = false
glow_light.visible = false
gunkable.clear_total_updated.connect(grunk_dust._on_gunkable_clear_total_updated)