tiger-cleanup #1

Merged
tiger merged 97 commits from tiger-cleanup into development 2026-01-15 14:54:23 +00:00
5 changed files with 35 additions and 66 deletions
Showing only changes of commit 9da3692b60 - Show all commits

View File

@ -1,5 +1,7 @@
class_name InteractiveSprite extends Area3D class_name InteractiveSprite extends Area3D
@export var interaction_ui: PackedScene = null
@onready var pass_to_actor: = $UiWrapper/UiSprite/SubViewport/CollectableUi @onready var pass_to_actor: = $UiWrapper/UiSprite/SubViewport/CollectableUi
@onready var wrapper := $UiWrapper @onready var wrapper := $UiWrapper
@onready var ui: CollectableUi = $UiWrapper/UiSprite/SubViewport.get_child(0) @onready var ui: CollectableUi = $UiWrapper/UiSprite/SubViewport.get_child(0)
@ -30,10 +32,9 @@ var has_mouse: bool = false
# Called when the node enters the scene tree for the first time. # Called when the node enters the scene tree for the first time.
func _ready(): func _ready():
mouse_entered.connect(_on_mouse_entered) if interaction_ui:
%CanvasLayer.add_child(interaction_ui.instantiate())
# Wire up the CollectableUi with the CanvasLayer for story playback
if ui:
ui.canvas_layer = %CanvasLayer ui.canvas_layer = %CanvasLayer
# Find and wire the StoryPlayable if not already set # Find and wire the StoryPlayable if not already set
if ui.story_playable == null: if ui.story_playable == null:

View File

@ -1893,33 +1893,24 @@ omni_range = 16.8518
[node name="MaskMemento" parent="logic" instance=ExtResource("30_ypa88")] [node name="MaskMemento" parent="logic" instance=ExtResource("30_ypa88")]
transform = Transform3D(-0.8630245, 0, 0.5051597, 0, 1, 0, -0.5051597, 0, -0.8630245, 0.0754588, 0.948372, 2.42068) transform = Transform3D(-0.8630245, 0, 0.5051597, 0, 1, 0, -0.5051597, 0, -0.8630245, 0.0754588, 0.948372, 2.42068)
interaction_ui = ExtResource("12_viwxf")
[node name="childhood" parent="logic/MaskMemento/CanvasLayer" index="0" instance=ExtResource("12_viwxf")]
[node name="ClothesMemento" parent="logic" instance=ExtResource("30_ypa88")] [node name="ClothesMemento" parent="logic" instance=ExtResource("30_ypa88")]
transform = Transform3D(0.8604294, 0, -0.5095667, 0, 1, 0, 0.5095667, 0, 0.8604294, 1.3658599, 1.17096, -0.6365988) transform = Transform3D(0.8604294, 0, -0.5095667, 0, 1, 0, 0.5095667, 0, 0.8604294, 1.3658599, 1.17096, -0.6365988)
interaction_ui = ExtResource("12_x3dlb")
[node name="JuiJutsu" parent="logic/ClothesMemento/CanvasLayer" index="0" instance=ExtResource("12_x3dlb")]
[node name="ComicMemento" parent="logic" instance=ExtResource("30_ypa88")] [node name="ComicMemento" parent="logic" instance=ExtResource("30_ypa88")]
transform = Transform3D(0.9699434, 0, 0.24332686, 0, 1, 0, -0.24332686, 0, 0.9699434, 2.91664, 0.595014, -0.75655603) transform = Transform3D(0.9699434, 0, 0.24332686, 0, 1, 0, -0.24332686, 0, 0.9699434, 2.91664, 0.595014, -0.75655603)
interaction_ui = ExtResource("13_v3447")
[node name="voice_training" parent="logic/ComicMemento/CanvasLayer" index="0" instance=ExtResource("13_v3447")]
story_array = []
paragraph_lengths = [1]
[node name="CeilingMemento" parent="logic" instance=ExtResource("30_ypa88")] [node name="CeilingMemento" parent="logic" instance=ExtResource("30_ypa88")]
transform = Transform3D(0.71489924, 0, 0.6992255, 0, 1, 0, -0.6992255, 0, 0.71489924, -0.13478619, 2.0720484, -0.42032808) transform = Transform3D(0.71489924, 0, 0.6992255, 0, 1, 0, -0.6992255, 0, 0.71489924, -0.13478619, 2.0720484, -0.42032808)
interaction_ui = ExtResource("19_d3c7p")
[node name="draven" parent="logic/CeilingMemento/CanvasLayer" index="0" instance=ExtResource("19_d3c7p")]
story_array = []
paragraph_lengths = [1]
[node name="MindBoard" parent="logic" instance=ExtResource("30_ypa88")] [node name="MindBoard" parent="logic" instance=ExtResource("30_ypa88")]
unique_name_in_owner = true unique_name_in_owner = true
transform = Transform3D(-4.3711374e-08, 0, 0.9999984, 0, 1, 0, -0.9999984, 0, -4.3711374e-08, -0.907206, 1.17661, 1.74337) transform = Transform3D(-4.3711374e-08, 0, 0.9999984, 0, 1, 0, -0.9999984, 0, -4.3711374e-08, -0.907206, 1.17661, 1.74337)
interaction_ui = ExtResource("4_gyjxx")
[node name="board" parent="logic/MindBoard/CanvasLayer" index="0" instance=ExtResource("4_gyjxx")]
[node name="Door" parent="logic" instance=ExtResource("30_ypa88")] [node name="Door" parent="logic" instance=ExtResource("30_ypa88")]
unique_name_in_owner = true unique_name_in_owner = true
@ -2183,10 +2174,3 @@ data = ExtResource("40_ea6x8")
[connection signal="body_exited" from="logic/Bed and Ladders/reset_failover" to="logic/PlayerController" method="_on_bed_exit"] [connection signal="body_exited" from="logic/Bed and Ladders/reset_failover" to="logic/PlayerController" method="_on_bed_exit"]
[connection signal="pressed" from="logic/UI/ending_button" to="logic/UI/ending_button" method="hide"] [connection signal="pressed" from="logic/UI/ending_button" to="logic/UI/ending_button" method="hide"]
[connection signal="pressed" from="logic/UI/ending_button" to="logic/UI/ending" method="show"] [connection signal="pressed" from="logic/UI/ending_button" to="logic/UI/ending" method="show"]
[editable path="logic/MaskMemento"]
[editable path="logic/ClothesMemento"]
[editable path="logic/ComicMemento"]
[editable path="logic/CeilingMemento"]
[editable path="logic/MindBoard"]
[editable path="logic/Door"]

View File

@ -1,13 +1,11 @@
extends CenterContainer extends CenterContainer
class_name CollectableUi class_name CollectableUi
@onready var canvas_layer: CanvasLayer = %CanvasLayer
## The StoryPlayable to play when this memento is collected. ## The StoryPlayable to play when this memento is collected.
## Auto-discovered from the owner's %CanvasLayer, or can be set manually. ## Auto-discovered from the owner's %CanvasLayer, or can be set manually.
@export var story_playable: StoryPlayable var story_playable: StoryPlayable
## Reference to the CanvasLayer containing the story_playable.
## Auto-discovered in _ready() if not set.
var canvas_layer: CanvasLayer
@export var has_stage: bool = false: @export var has_stage: bool = false:
set(focused): set(focused):
@ -154,21 +152,9 @@ func _ready() -> void:
%CollectButton.pressed.connect(collect_memento) %CollectButton.pressed.connect(collect_memento)
##TODO: add functions for remaining buttons ##TODO: add functions for remaining buttons
# Auto-discover story_playable and canvas_layer from scene hierarchy
_discover_story_playable()
update_state() update_state()
## Ensure canvas_layer is set if story_playable was set via export.
## InteractiveSprite._ready() handles the main wiring for inherited scenes.
func _discover_story_playable() -> void:
if story_playable != null and canvas_layer == null:
# story_playable set via export, find its parent CanvasLayer
var parent = story_playable.get_parent()
if parent is CanvasLayer:
canvas_layer = parent
func _on_context_updated() -> void: func _on_context_updated() -> void:
%SkipButton.visible = State.allow_skipping %SkipButton.visible = State.allow_skipping
%SummaryButton.visible = State.provide_summaries %SummaryButton.visible = State.provide_summaries
@ -252,14 +238,12 @@ func collect_memento() -> void:
Input.mouse_mode = Input.MOUSE_MODE_HIDDEN Input.mouse_mode = Input.MOUSE_MODE_HIDDEN
# Show the CanvasLayer so the story is visible full-screen # Show the CanvasLayer so the story is visible full-screen
if canvas_layer:
canvas_layer.show() canvas_layer.show()
# Play the story # Play the story
await story_playable.play() await story_playable.play()
# Hide the CanvasLayer when done # Hide the CanvasLayer when done
if canvas_layer:
canvas_layer.hide() canvas_layer.hide()
# Restore mouse to captured mode (player controller will be given back control) # Restore mouse to captured mode (player controller will be given back control)

View File

@ -12,8 +12,8 @@
[sub_resource type="ViewportTexture" id="ViewportTexture_uwc8q"] [sub_resource type="ViewportTexture" id="ViewportTexture_uwc8q"]
viewport_path = NodePath("UiWrapper/UiSprite/SubViewport") viewport_path = NodePath("UiWrapper/UiSprite/SubViewport")
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_v8gd7"] [sub_resource type="BoxShape3D" id="BoxShape3D_uwc8q"]
height = 1.5 size = Vector3(1, 1, 0.14892578)
[node name="Memento" type="Area3D" groups=["interactables"]] [node name="Memento" type="Area3D" groups=["interactables"]]
transform = Transform3D(0.9999994, 0, 0, 0, 1, 0, 0, 0, 0.9999994, 0, 0, 0) transform = Transform3D(0.9999994, 0, 0, 0, 1, 0, 0, 0, 0.9999994, 0, 0, 0)
@ -59,8 +59,8 @@ region_enabled = true
region_rect = Rect2(735.5, 0, 995.5, 1024) region_rect = Rect2(735.5, 0, 995.5, 1024)
[node name="HoverDetect" type="CollisionShape3D" parent="."] [node name="HoverDetect" type="CollisionShape3D" parent="."]
transform = Transform3D(-4.3711356e-08, -0.9999997, 0, 0.9999993, -4.3711374e-08, 0, 0, 0, 0.99999976, 0, 0, 0) transform = Transform3D(-4.3711356e-08, -0.9999997, 0, 0.9999993, -4.3711374e-08, 0, 0, 0, 0.99999976, 0, 0, 0.060790993)
shape = SubResource("CapsuleShape3D_v8gd7") shape = SubResource("BoxShape3D_uwc8q")
[node name="CanvasLayer" type="CanvasLayer" parent="."] [node name="CanvasLayer" type="CanvasLayer" parent="."]
unique_name_in_owner = true unique_name_in_owner = true