From 06184afcb86e8c9811b6dd030f69bd7be4153e74 Mon Sep 17 00:00:00 2001 From: LUCASTUCIOUS Date: Sat, 27 Jul 2024 17:04:27 +0200 Subject: [PATCH] Sticker shader on detecxtion --- core/Cursor.gd | 19 ++++++++++++++----- maps/map1.tscn | 8 ++++---- prefab/free_sticker.tscn | 13 +++++++++++++ 3 files changed, 31 insertions(+), 9 deletions(-) diff --git a/core/Cursor.gd b/core/Cursor.gd index c682cc2..9facd6e 100644 --- a/core/Cursor.gd +++ b/core/Cursor.gd @@ -75,6 +75,8 @@ func pointcast(): if (hoveredSticker.has_method("on_hover")): hoveredSticker.on_hover() else: + if (hoveredSticker.has_method("on_unhover")): + hoveredSticker.on_unhover() hoveredSticker = null else: resetCast(true) @@ -85,6 +87,8 @@ func resetCast(bFull = false): CastResult.clear() hoveredObjects.clear() if bFull: + if (hoveredObject and hoveredObject.has_method("on_unhover")): + hoveredObject.on_unhover() hoveredObject = null hoveredSticker = null @@ -112,13 +116,20 @@ func _input(rawInputEvent:InputEvent): if (grabbedSticker): grab_end() +func grab_start(): + if (hoveredSticker): + grabbedSticker = hoveredSticker + print("Grabbed ", grabbedSticker) + func grab_end(): grabbedSticker.on_released() - grabbedSticker = null + print("stopg grabbin at ",query.position ) DebugDraw.points.append(query.position) DebugDraw.drawPoints() - #TODO: Drop the sticker + #TODO: Drop the sticker or maybe he will auto-drop ? + + grabbedSticker = null func cursorClick(): if (hoveredObject and hoveredObject.has_method("on_click")): @@ -140,9 +151,7 @@ func cursor_look(): func _on_grab_timer_timeout(): - if (hoveredSticker): - grabbedSticker = hoveredSticker - print("Grabbed ", grabbedSticker) + grab_start() func _on_animated_sprite_2d_animation_changed(): diff --git a/maps/map1.tscn b/maps/map1.tscn index cc63a19..6845928 100644 --- a/maps/map1.tscn +++ b/maps/map1.tscn @@ -187,7 +187,7 @@ texture = ExtResource("7_gygvy") offset = Vector2(-251.145, -512) Shape = SubResource("CapsuleShape2D_dqo8w") Position = Vector2(0, -253.27) -Rotation = 0.0 +Rotation = 0.01 [node name="Tree2" parent="." instance=ExtResource("6_3fkbm")] position = Vector2(-2399, -55) @@ -195,7 +195,7 @@ texture = ExtResource("7_gygvy") offset = Vector2(-251.145, -512) Shape = SubResource("CapsuleShape2D_dqo8w") Position = Vector2(0, -253.27) -Rotation = 0.0 +Rotation = 0.01 [node name="Tree3" parent="." instance=ExtResource("6_3fkbm")] position = Vector2(-763, -2021) @@ -203,7 +203,7 @@ texture = ExtResource("7_gygvy") offset = Vector2(-251.145, -512) Shape = SubResource("CapsuleShape2D_dqo8w") Position = Vector2(0, -253.27) -Rotation = 0.0 +Rotation = 0.01 [node name="Tree4" parent="." instance=ExtResource("6_3fkbm")] position = Vector2(2365, -2258) @@ -211,7 +211,7 @@ texture = ExtResource("7_gygvy") offset = Vector2(-251.145, -512) Shape = SubResource("CapsuleShape2D_dqo8w") Position = Vector2(0, -253.27) -Rotation = 0.0 +Rotation = 0.01 [node name="Bush6" parent="." instance=ExtResource("6_3fkbm")] position = Vector2(-1556, 293) diff --git a/prefab/free_sticker.tscn b/prefab/free_sticker.tscn index cf19ef2..b40ed5f 100644 --- a/prefab/free_sticker.tscn +++ b/prefab/free_sticker.tscn @@ -30,6 +30,19 @@ extends Sprite2D func on_released(): print(self,\" released\") + +func on_click(): + print(self,\" clicked\") + +func on_hover(): + var OutlineMat:ShaderMaterial + OutlineMat = load(\"res://shaders/shaderMaterial_Outline.tres\") + material = OutlineMat + queue_redraw() + +func on_unhover(): + material = null + queue_redraw() " [node name="FreeSticker1" type="Sprite2D"]