1
Fork 0
mirror of https://github.com/Steffo99/swear-jar.git synced 2024-11-25 17:14:20 +00:00
swear-jar/interface/ghost.gd

43 lines
1,015 B
GDScript3
Raw Normal View History

2023-10-02 13:12:08 +00:00
extends Area2D
class_name Ghost
var is_dragging: bool
var previous_position: Vector2
2023-10-02 14:22:03 +00:00
2023-10-02 13:12:08 +00:00
func _input(event: InputEvent):
if event is InputEventMouseButton:
is_dragging = event.pressed
previous_position = event.position
elif event is InputEventScreenTouch:
is_dragging = event.pressed
previous_position = event.position
if is_dragging:
if event is InputEventMouseMotion:
var delta = event.position - previous_position
2023-10-02 14:22:03 +00:00
move_and_check(position + delta)
2023-10-02 13:12:08 +00:00
previous_position = event.position
elif event is InputEventScreenDrag:
var delta = event.position - previous_position
2023-10-02 14:22:03 +00:00
move_and_check(position + delta)
2023-10-02 13:12:08 +00:00
previous_position = event.position
2023-10-02 14:22:03 +00:00
@onready var sprite: Sprite2D = $Sprite
@export var can_place: bool:
get:
return can_place
set(value):
if value:
sprite.modulate = Color(1.0, 1.0, 1.0, 0.5)
else:
sprite.modulate = Color(1.0, 0.0, 0.0, 0.5)
func move_and_check(destination):
position = destination
can_place = not has_overlapping_bodies()
print(can_place)