diff --git a/src/props/interactive.gd b/src/props/interactive.gd index 51be3dc..e2c452f 100644 --- a/src/props/interactive.gd +++ b/src/props/interactive.gd @@ -21,6 +21,7 @@ func _ready() -> void: controller.connect(SELECT_SIGNAL, select) controller.add_user_signal(DESELECT_SIGNAL) controller.connect(DESELECT_SIGNAL, deselect) + controller.tree_exited.connect(deselect) controller.add_user_signal(ACTIVATE_SIGNAL) controller.connect(ACTIVATE_SIGNAL, activate) diff --git a/src/props/retinal_scanner/retinal_scanner.gd b/src/props/retinal_scanner/retinal_scanner.gd index 42c2b47..5e0f3ec 100644 --- a/src/props/retinal_scanner/retinal_scanner.gd +++ b/src/props/retinal_scanner/retinal_scanner.gd @@ -8,6 +8,7 @@ signal activated func _ready() -> void: + interactive.controller.connect(Interactive.SELECT_SIGNAL, _on_interactive_selected) _deferred_init.call_deferred() @@ -52,3 +53,8 @@ func serialize() -> Dictionary: func deserialize(state: Dictionary) -> void: enabled = state["enabled"] + + +func _process(_delta: float) -> void: + # TODO don't do this in _process + interactive.enabled = enabled and _has_item() diff --git a/src/props/retinal_scanner/retinal_scanner.tscn b/src/props/retinal_scanner/retinal_scanner.tscn index be8d9b2..f57dbc3 100644 --- a/src/props/retinal_scanner/retinal_scanner.tscn +++ b/src/props/retinal_scanner/retinal_scanner.tscn @@ -24,6 +24,7 @@ font_size = 96 outline_size = 24 [node name="InteractiveBody" type="StaticBody3D" parent="."] +unique_name_in_owner = true collision_layer = 3 collision_mask = 0 diff --git a/src/world/world.tscn b/src/world/world.tscn index a67352d..faf7b8c 100644 --- a/src/world/world.tscn +++ b/src/world/world.tscn @@ -4,7 +4,7 @@ [ext_resource type="Resource" uid="uid://tgac5tnfx56r" path="res://src/world/world_manager.tres" id="2_5kmgb"] [ext_resource type="PackedScene" uid="uid://byvjsvavbg5xe" path="res://src/ui/menus/pause_menu/pause_menu.tscn" id="2_6fy3g"] [ext_resource type="Resource" uid="uid://0i72bf8ip1lx" path="res://src/world/spook_manager.tres" id="3_l0av5"] -[ext_resource type="PackedScene" uid="uid://bov4ok76woyc" path="res://levels/ghost_ship/ghost_ship.tscn" id="4_5kmgb"] +[ext_resource type="PackedScene" uid="uid://b8rv6dg4tgaeb" path="res://levels/mechanic_test/mechanic_test.tscn" id="4_5kmgb"] [ext_resource type="PackedScene" uid="uid://c0uitm5cg88h1" path="res://src/ui/menus/kill_screen/kill_screen.tscn" id="6_l0av5"] [ext_resource type="PackedScene" uid="uid://brknr57xc2cp0" path="res://src/ui/elements/save_icon/save_icon.tscn" id="7_5kmgb"]