wip:FX if released mode accessible

This commit is contained in:
Lucas 2024-08-04 00:32:50 +02:00
parent c91284051c
commit 57d6b3f607

View file

@ -36,7 +36,7 @@ class_name Sticker extends Area2D
var meta:PackedStringArray = ["sticker"]
var detected_solids:Array
var detected_zones:Array
var Grabbed:bool = false
#region Functions
func _get_configuration_warnings():
@ -84,6 +84,8 @@ func _on_body_entered(body:Node2D):
func _on_body_exited(body:Node2D):
print("body exited",body)
detected_solids.erase(body)
if(Sticker_mode and Grabbed and detected_solids.size() == 0):
print("Can be released in object mode")
func _on_area_entered(area:Area2D):
print("area entered",area)
#TODO:Filter by type
@ -95,19 +97,22 @@ func _on_area_exited(area:Area2D):
func _process(_delta):
pass
## When the sticker is released
func on_released(_CastResult:Array=[]):
print(self," released")
Grabbed = false
#Need a traceresult to know if it should stay in the stickerstate or be released in the world
if(detected_solids.size()==0):
get_parent().top_level = false
disable_ChildNodes_collisions(false)
update_ChildNodes_visibilty(true)
Sticker_mode = false
on_unhover() #security
on_unhover() #security,but i don't like it
get_parent().reparent(MapManager.current_scene.get_child(0))
func on_click():
print(self," clicked")
@ -139,10 +144,12 @@ func on_unhover():
func on_grab(_offset:Vector2=Vector2(0.0,0.0)):
Sticker_mode = true
get_parent().top_level = true
get_parent().reparent(MapManager)
update_ChildNodes_visibilty(false)
disable_ChildNodes_collisions(true)
Grabbed = true
func update_ChildNodes_visibilty(_visible:bool=true):
for _childNode in get_parent().get_children():