goodnight_jellybean/godot/GlobalCursorState.gd

47 lines
918 B
GDScript3
Raw Normal View History

2022-12-31 01:19:40 -07:00
extends Spatial
var cursor = weakref(null)
2023-01-01 14:02:34 -07:00
var is_frozen = false
2022-12-31 01:19:40 -07:00
signal cursor_interact
2023-01-01 19:59:44 -07:00
func _ready():
Input.set_mouse_mode(Input.MOUSE_MODE_HIDDEN)
2022-12-31 01:19:40 -07:00
func set_cursor(set_as: Node):
cursor = weakref(set_as)
func is_cursor_collision(body):
return get_cursor() == body
func fire_interact():
emit_signal("cursor_interact")
func get_cursor():
return cursor.get_ref()
2023-01-01 14:02:34 -07:00
signal freeze(enabled)
func freeze():
is_frozen = true
emit_signal("freeze", true)
func unfreeze():
is_frozen = false
emit_signal("freeze", false)
2022-12-31 01:19:40 -07:00
# Interact events:
#########################################
func _on_Interact_leave_disclaimer():
var _err = get_tree().change_scene("res://world.tscn")
2023-01-01 02:23:56 -07:00
2023-01-01 14:02:34 -07:00
signal unchecked_goal(phrase)
func _on_Cursor_goal(phrase: Array):
emit_signal("unchecked_goal", phrase)
2023-01-01 02:23:56 -07:00
# Camera zones
signal set_camera_zone(zone)
func _on_Cursor_set_camera(where: String):
emit_signal("set_camera_zone", where)