Files
project-thor/Scripts/global_script.gd
2025-08-20 14:31:53 +02:00

56 lines
1.5 KiB
GDScript

extends Node3D
@onready var outline_shader = preload("res://Shaders/outline.gdshader")
@onready var food_item = preload("res://Scenes/Prefabs/food_item.tscn")
@export var debugLabel1: Label
signal interact(person,interact_object)
signal object_selected_signal
signal object_unselected_signal
signal object_over_mouse_selected_signal(object)
signal object_over_mouse_unselected_signal(object)
var object_selected
var object_over_mouse
func _ready() -> void:
interact.connect(_on_interact)
object_selected_signal.connect(_on_object_selected)
object_unselected_signal.connect(_on_object_unselected)
object_over_mouse_selected_signal.connect(_on_mouse_object_selected)
object_over_mouse_unselected_signal.connect(_on_mouse_object_unselected)
func _input(event: InputEvent) -> void:
if event.is_action_released("mouse_click"):
if object_over_mouse != null:
object_selected_signal.emit(object_over_mouse)
if event.is_action_released("right_mouse_click"):
if object_selected != object_over_mouse:
object_unselected_signal.emit()
func _on_interact(person, object):
object.start_action(person, object)
func _on_object_selected(object):
if object_selected != null:
object_unselected_signal.emit()
object_selected = object
object_selected.is_selected = true
print(object_selected)
func _on_object_unselected():
object_selected.is_selected = false
object_selected.disable_outline()
object_selected = null
func _on_mouse_object_selected(object):
object_over_mouse = object
func _on_mouse_object_unselected(object):
object_over_mouse = null