From bc10813c3fa61f1d2acbf37f9caec0cb04ad1806 Mon Sep 17 00:00:00 2001 From: betalars Date: Wed, 14 Feb 2024 02:21:08 +0100 Subject: [PATCH] windows in scene will now properly close after not having been focused, cursor showing up and disappearing when intended has been sorted out. --- .../youth_room/Collectable.gd | 10 ++++-- .../youth_room/fairylights.tscn | 4 +-- .../youth_room/youth_room.tscn | 32 ++++++++++++++----- src/dev-util/testing.tscn | 30 ++++++++--------- .../collectable/collectable_ui.gd | 3 +- .../collectable/collectable_ui.tscn | 14 ++++---- .../player_controller/player_controller.gd | 10 +++--- 7 files changed, 62 insertions(+), 41 deletions(-) diff --git a/src/base-environments/youth_room/Collectable.gd b/src/base-environments/youth_room/Collectable.gd index 2778b9a..e420802 100644 --- a/src/base-environments/youth_room/Collectable.gd +++ b/src/base-environments/youth_room/Collectable.gd @@ -5,13 +5,14 @@ extends Area3D @onready var ui = $UiWrapper/UiSprite/SubViewport.get_child(0) var revealed: bool = false: - set(on_stage): - revealed = on_stage - if on_stage: + set(reveal): + revealed = reveal + if reveal: wrapper.show() ui.show() else: ui.hide() + await get_tree().create_timer(1).timeout wrapper.hide() var has_mouse: bool = false @@ -34,6 +35,9 @@ func _on_mouse_exited(): func reveal(): revealed = true + await get_tree().create_timer(5).timeout + if not has_mouse: + revealed = false func collapse(): _on_mouse_exited() diff --git a/src/base-environments/youth_room/fairylights.tscn b/src/base-environments/youth_room/fairylights.tscn index 0210692..6700efb 100644 --- a/src/base-environments/youth_room/fairylights.tscn +++ b/src/base-environments/youth_room/fairylights.tscn @@ -56,7 +56,7 @@ albedo_texture = ExtResource("1_xsr58") normal_enabled = true normal_texture = ExtResource("1_p3lcj") -[sub_resource type="ImmediateMesh" id="ImmediateMesh_x1eeu"] +[sub_resource type="ImmediateMesh" id="ImmediateMesh_b56ch"] [sub_resource type="MultiMesh" id="MultiMesh_ic3h7"] transform_format = 1 @@ -70,7 +70,7 @@ light_array = Array[Vector3]([Vector3(0, 0, 0), Vector3(0, 1, 0)]) [node name="wires" type="MeshInstance3D" parent="."] material_override = SubResource("StandardMaterial3D_5ca5e") -mesh = SubResource("ImmediateMesh_x1eeu") +mesh = SubResource("ImmediateMesh_b56ch") script = ExtResource("2_javfj") points = Array[Vector3]([Vector3(0, 0, 0), Vector3(0, 1, 0)]) start_thickness = 0.01 diff --git a/src/base-environments/youth_room/youth_room.tscn b/src/base-environments/youth_room/youth_room.tscn index 754ee5e..8b5e8fe 100644 --- a/src/base-environments/youth_room/youth_room.tscn +++ b/src/base-environments/youth_room/youth_room.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=126 format=3 uid="uid://b3b0gyvklqn50"] +[gd_scene load_steps=127 format=3 uid="uid://b3b0gyvklqn50"] [ext_resource type="Script" path="res://base-environments/youth_room/room_handle.gd" id="1_aitp0"] [ext_resource type="PackedScene" uid="uid://c0i4ydmxtxfho" path="res://base-environments/youth_room/import/youth_room.glb" id="1_jf3oi"] @@ -2121,6 +2121,21 @@ func _process(delta): self.global_transform = camera.global_transform " +[sub_resource type="GDScript" id="GDScript_icgq0"] +script/source = "extends Control + +func show(): + visible = true + var vis_tween = create_tween() + vis_tween.tween_property(self, \"modulate\", Color(1, 1, 1, 1), 0.1) + +func hide(): + var vis_tween = create_tween() + vis_tween.tween_property(self, \"modulate\", Color(1, 1, 1, 0), 0.1) + await vis_tween.finished + visible = false +" + [node name="youth room" type="Node3D"] script = ExtResource("1_aitp0") @@ -2413,6 +2428,7 @@ autoplay = "idle" [node name="Camera3D" type="Camera3D" parent="logic/ScenePlayer/childhood/PanelContainer/StartFrame/TextureRect/SubViewport/Node3D"] transform = Transform3D(1, -4.88994e-09, 1.82221e-11, 4.88232e-09, 0.998636, 0.052214, -2.7352e-10, -0.052214, 0.998636, 0.0198479, 0.0554118, 0.529937) +current = true fov = 33.0 [node name="SpotLight3D" type="SpotLight3D" parent="logic/ScenePlayer/childhood/PanelContainer/StartFrame/TextureRect/SubViewport/Node3D"] @@ -2870,7 +2886,6 @@ texture = SubResource("ViewportTexture_3mgqk") [node name="SubViewport" type="SubViewport" parent="logic/Mask-interaction/UiWrapper/UiSprite"] transparent_bg = true -size = Vector2i(350, 350) render_target_update_mode = 4 [node name="Collectable_ui" parent="logic/Mask-interaction/UiWrapper/UiSprite/SubViewport" instance=ExtResource("11_jxai0")] @@ -2908,7 +2923,7 @@ texture = SubResource("ViewportTexture_7hana") [node name="SubViewport" type="SubViewport" parent="logic/clothes_interaction/UiWrapper/UiSprite"] transparent_bg = true -size = Vector2i(350, 350) +size = Vector2i(400, 350) render_target_update_mode = 4 [node name="Collectable_ui" parent="logic/clothes_interaction/UiWrapper/UiSprite/SubViewport" instance=ExtResource("11_jxai0")] @@ -2947,7 +2962,7 @@ texture = SubResource("ViewportTexture_nn6wl") [node name="SubViewport" type="SubViewport" parent="logic/Comic-interaction/UiWrapper/UiSprite"] transparent_bg = true -size = Vector2i(350, 350) +size = Vector2i(400, 350) render_target_update_mode = 4 [node name="Collectable_ui" parent="logic/Comic-interaction/UiWrapper/UiSprite/SubViewport" instance=ExtResource("11_jxai0")] @@ -2986,13 +3001,14 @@ texture = SubResource("ViewportTexture_8rywf") [node name="SubViewport" type="SubViewport" parent="logic/Draeven-interaction/UiWrapper/UiSprite"] transparent_bg = true -size = Vector2i(350, 350) +size = Vector2i(400, 350) render_target_update_mode = 4 [node name="Collectable_ui" parent="logic/Draeven-interaction/UiWrapper/UiSprite/SubViewport" instance=ExtResource("11_jxai0")] visible = false scene = 3 is_story = true +collected = true item_name = "Starlight" content_notes = "Alienation" @@ -3026,7 +3042,7 @@ texture = SubResource("ViewportTexture_hdmps") [node name="SubViewport" type="SubViewport" parent="logic/Mind Board/UiWrapper/UiSprite"] transparent_bg = true -size = Vector2i(350, 350) +size = Vector2i(400, 350) render_target_update_mode = 4 [node name="Collectable_ui" parent="logic/Mind Board/UiWrapper/UiSprite/SubViewport" instance=ExtResource("11_jxai0")] @@ -3228,6 +3244,7 @@ size = Vector2i(1920, 1080) [node name="Camera3D" type="Camera3D" parent="WorldEnvironment/window_glass/SubViewport"] transform = Transform3D(-1, 0, -1.50996e-07, 0, 1, 0, 1.50996e-07, 0, -1, 0.906618, 1.33684, 2.65628) +current = true script = SubResource("GDScript_rfgs6") [node name="outside" parent="WorldEnvironment/window_glass/SubViewport" instance=ExtResource("32_2vgep")] @@ -3242,9 +3259,9 @@ anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 mouse_filter = 1 +script = SubResource("GDScript_icgq0") [node name="Mouse" type="CenterContainer" parent="SceneUI"] -visible = false layout_mode = 1 anchors_preset = 15 anchor_right = 1.0 @@ -3253,7 +3270,6 @@ grow_horizontal = 2 grow_vertical = 2 [node name="TextureRect" type="TextureRect" parent="SceneUI/Mouse"] -visible = false layout_mode = 2 texture = ExtResource("13_lqj71") diff --git a/src/dev-util/testing.tscn b/src/dev-util/testing.tscn index 60056ab..5ce3345 100644 --- a/src/dev-util/testing.tscn +++ b/src/dev-util/testing.tscn @@ -20,6 +20,21 @@ func _on_animation_player_animation_finished(anim_name): print(\"yay\") " +[sub_resource type="Animation" id="Animation_kdstq"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Camera3D:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector3(0, -0.058, 0.77)] +} + [sub_resource type="Animation" id="Animation_wjx7h"] resource_name = "test" length = 5.0 @@ -36,21 +51,6 @@ tracks/0/keys = { "values": [Vector3(0, -0.058, 0.77), Vector3(0, -0.058, 10.97)] } -[sub_resource type="Animation" id="Animation_kdstq"] -length = 0.001 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("Camera3D:position") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector3(0, -0.058, 0.77)] -} - [sub_resource type="AnimationLibrary" id="AnimationLibrary_l6qbr"] _data = { "RESET": SubResource("Animation_kdstq"), diff --git a/src/logic-scenes/collectable/collectable_ui.gd b/src/logic-scenes/collectable/collectable_ui.gd index a7d3ea7..3448d03 100644 --- a/src/logic-scenes/collectable/collectable_ui.gd +++ b/src/logic-scenes/collectable/collectable_ui.gd @@ -104,10 +104,9 @@ func _show_buttons(): func hide(): if visible: - _hide_buttons() var tween = create_tween() tween.tween_property(self, "modulate", Color(0, 0, 0), 0.4) - _hide_buttons() + if not collapsed: _hide_buttons() await tween.finished visible = false if has_stage: State.leave_stage(self) diff --git a/src/logic-scenes/collectable/collectable_ui.tscn b/src/logic-scenes/collectable/collectable_ui.tscn index f373c40..2aea2f3 100644 --- a/src/logic-scenes/collectable/collectable_ui.tscn +++ b/src/logic-scenes/collectable/collectable_ui.tscn @@ -27,12 +27,14 @@ func show(): if visible == false and not State.reduce_motion: var tmp = text var tween:Tween = create_tween() - tween.tween_property(self, \"custom_minimum_size\", get_minimum_size(), 0.2) - text = \"\" - update_minimum_size() - visible = true - await tween.finished - text = tmp + if is_instance_valid(tween): + tween.tween_property(self, \"custom_minimum_size\", get_minimum_size(), 0.2) + text = \"\" + update_minimum_size() + visible = true + await tween.finished + text = tmp + else: visible = true diff --git a/src/logic-scenes/player_controller/player_controller.gd b/src/logic-scenes/player_controller/player_controller.gd index bc5726d..231e21b 100644 --- a/src/logic-scenes/player_controller/player_controller.gd +++ b/src/logic-scenes/player_controller/player_controller.gd @@ -1,9 +1,9 @@ extends RigidBody3D var has_stage: bool = false: - set(focused): - if has_stage != focused: - if focused: + set(on_stage): + if has_stage != on_stage: + if on_stage: has_stage = true if is_inside_tree(): camera.make_current() @@ -11,7 +11,7 @@ var has_stage: bool = false: Input.mouse_mode = Input.MOUSE_MODE_CAPTURED var jitter_tween: Tween = create_tween() jitter_tween.tween_property(self, "jitter_strength", 1, 1) - if has_entered: emit_signal("ui_entered") + if has_entered: emit_signal("ui_exited") elif has_stage: camera.current = true jitter_strength = 1 @@ -82,7 +82,7 @@ func _on_ini_room(): func _process(_delta): - if focus_ray.get_collider() != null: + if focus_ray.get_collider() != null and not has_entered: emit_signal("ui_entered") has_entered = true focus_ray.get_collider().reveal()