Sticker shader on detecxtion

This commit is contained in:
Lucas 2024-07-27 17:04:27 +02:00
parent e4e21741c1
commit 06184afcb8
3 changed files with 31 additions and 9 deletions

View file

@ -75,6 +75,8 @@ func pointcast():
if (hoveredSticker.has_method("on_hover")): if (hoveredSticker.has_method("on_hover")):
hoveredSticker.on_hover() hoveredSticker.on_hover()
else: else:
if (hoveredSticker.has_method("on_unhover")):
hoveredSticker.on_unhover()
hoveredSticker = null hoveredSticker = null
else: else:
resetCast(true) resetCast(true)
@ -85,6 +87,8 @@ func resetCast(bFull = false):
CastResult.clear() CastResult.clear()
hoveredObjects.clear() hoveredObjects.clear()
if bFull: if bFull:
if (hoveredObject and hoveredObject.has_method("on_unhover")):
hoveredObject.on_unhover()
hoveredObject = null hoveredObject = null
hoveredSticker = null hoveredSticker = null
@ -112,13 +116,20 @@ func _input(rawInputEvent:InputEvent):
if (grabbedSticker): if (grabbedSticker):
grab_end() grab_end()
func grab_start():
if (hoveredSticker):
grabbedSticker = hoveredSticker
print("Grabbed ", grabbedSticker)
func grab_end(): func grab_end():
grabbedSticker.on_released() grabbedSticker.on_released()
grabbedSticker = null
print("stopg grabbin at ",query.position ) print("stopg grabbin at ",query.position )
DebugDraw.points.append(query.position) DebugDraw.points.append(query.position)
DebugDraw.drawPoints() DebugDraw.drawPoints()
#TODO: Drop the sticker #TODO: Drop the sticker or maybe he will auto-drop ?
grabbedSticker = null
func cursorClick(): func cursorClick():
if (hoveredObject and hoveredObject.has_method("on_click")): if (hoveredObject and hoveredObject.has_method("on_click")):
@ -140,9 +151,7 @@ func cursor_look():
func _on_grab_timer_timeout(): func _on_grab_timer_timeout():
if (hoveredSticker): grab_start()
grabbedSticker = hoveredSticker
print("Grabbed ", grabbedSticker)
func _on_animated_sprite_2d_animation_changed(): func _on_animated_sprite_2d_animation_changed():

View file

@ -187,7 +187,7 @@ texture = ExtResource("7_gygvy")
offset = Vector2(-251.145, -512) offset = Vector2(-251.145, -512)
Shape = SubResource("CapsuleShape2D_dqo8w") Shape = SubResource("CapsuleShape2D_dqo8w")
Position = Vector2(0, -253.27) Position = Vector2(0, -253.27)
Rotation = 0.0 Rotation = 0.01
[node name="Tree2" parent="." instance=ExtResource("6_3fkbm")] [node name="Tree2" parent="." instance=ExtResource("6_3fkbm")]
position = Vector2(-2399, -55) position = Vector2(-2399, -55)
@ -195,7 +195,7 @@ texture = ExtResource("7_gygvy")
offset = Vector2(-251.145, -512) offset = Vector2(-251.145, -512)
Shape = SubResource("CapsuleShape2D_dqo8w") Shape = SubResource("CapsuleShape2D_dqo8w")
Position = Vector2(0, -253.27) Position = Vector2(0, -253.27)
Rotation = 0.0 Rotation = 0.01
[node name="Tree3" parent="." instance=ExtResource("6_3fkbm")] [node name="Tree3" parent="." instance=ExtResource("6_3fkbm")]
position = Vector2(-763, -2021) position = Vector2(-763, -2021)
@ -203,7 +203,7 @@ texture = ExtResource("7_gygvy")
offset = Vector2(-251.145, -512) offset = Vector2(-251.145, -512)
Shape = SubResource("CapsuleShape2D_dqo8w") Shape = SubResource("CapsuleShape2D_dqo8w")
Position = Vector2(0, -253.27) Position = Vector2(0, -253.27)
Rotation = 0.0 Rotation = 0.01
[node name="Tree4" parent="." instance=ExtResource("6_3fkbm")] [node name="Tree4" parent="." instance=ExtResource("6_3fkbm")]
position = Vector2(2365, -2258) position = Vector2(2365, -2258)
@ -211,7 +211,7 @@ texture = ExtResource("7_gygvy")
offset = Vector2(-251.145, -512) offset = Vector2(-251.145, -512)
Shape = SubResource("CapsuleShape2D_dqo8w") Shape = SubResource("CapsuleShape2D_dqo8w")
Position = Vector2(0, -253.27) Position = Vector2(0, -253.27)
Rotation = 0.0 Rotation = 0.01
[node name="Bush6" parent="." instance=ExtResource("6_3fkbm")] [node name="Bush6" parent="." instance=ExtResource("6_3fkbm")]
position = Vector2(-1556, 293) position = Vector2(-1556, 293)

View file

@ -30,6 +30,19 @@ extends Sprite2D
func on_released(): func on_released():
print(self,\" 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"] [node name="FreeSticker1" type="Sprite2D"]