goodnight_jellybean/godot/CursorInteractArea.gd

29 lines
745 B
GDScript

extends Area
export var on_interact_func = ""
export var on_enter_func = ""
export var on_leave_func = ""
var cursor_is_touching = false
func _ready():
var _err = GlobalCursorState.connect("cursor_interact", self, "check_interact")
func check_interact():
if cursor_is_touching and on_interact_func:
GlobalCursorState.call(on_interact_func)
func _on_CursorInteractArea_body_entered(body):
if not GlobalCursorState.is_cursor_collision(body):
return
cursor_is_touching = true
if on_enter_func:
GlobalCursorState.call(on_enter_func)
func _on_CursorInteractArea_body_exited(body):
if not GlobalCursorState.is_cursor_collision(body):
return
cursor_is_touching = false
if on_leave_func:
GlobalCursorState.call(on_leave_func)