1
Fork 0
mirror of https://github.com/Steffo99/swear-jar.git synced 2024-10-16 06:17:27 +00:00

Optimize area checks

This commit is contained in:
Steffo 2023-10-12 18:41:16 +02:00
parent 97bbc8c33c
commit 64f2e5a155
Signed by: steffo
GPG key ID: 2A24051445686895
3 changed files with 7 additions and 10 deletions

View file

@ -32,3 +32,8 @@ z_index = 10
[node name="OverlapFreer" parent="." instance=ExtResource("6_y1rxa")]
[node name="PlaceableAreaChecker" parent="." instance=ExtResource("7_wemqm")]
[connection signal="area_entered" from="." to="PlaceableAreaChecker" method="update_is_overlapping_with"]
[connection signal="area_exited" from="." to="PlaceableAreaChecker" method="update_is_overlapping_with"]
[connection signal="body_entered" from="." to="OverlapChecker" method="update_is_overlapping_with"]
[connection signal="body_exited" from="." to="OverlapChecker" method="update_is_overlapping_with"]

View file

@ -31,7 +31,7 @@ func get_first_overlapping_body() -> Node2D:
return null
## Update the [is_overlapping_with] variable.
func _update_is_overlapping_with() -> void:
func update_is_overlapping_with() -> void:
var current_overlap = get_first_overlapping_body()
if current_overlap != is_overlapping_with:
overlap_changing.emit(current_overlap)
@ -39,7 +39,3 @@ func _update_is_overlapping_with() -> void:
## Emitted when the value of [is_overlapping_with] changes because of [_update_is_overlapping_with].
signal overlap_changing(to: Node2D)
## Calculate overlap on every physics frame.
func _physics_process(_delta):
_update_is_overlapping_with()

View file

@ -20,12 +20,8 @@ func get_first_overlapping_placeable_area() -> PlaceableArea:
## Emitted when the value of [is_overlapping_with] changes because of [_update_is_overlapping_with].
signal overlap_changing(to: PlaceableArea)
func _update_is_overlapping_with() -> void:
func update_is_overlapping_with() -> void:
var current_overlap = get_first_overlapping_placeable_area()
if current_overlap != is_overlapping_with:
overlap_changing.emit(current_overlap)
is_overlapping_with = current_overlap
## Calculate overlap on every physics frame.
func _physics_process(_delta):
_update_is_overlapping_with()