windows in scene will now properly close after not having been focused, cursor showing up and disappearing when intended has been sorted out.

This commit is contained in:
betalars 2024-02-14 02:21:08 +01:00
parent 736ad84dd0
commit bc10813c3f
7 changed files with 62 additions and 41 deletions

View File

@ -5,13 +5,14 @@ extends Area3D
@onready var ui = $UiWrapper/UiSprite/SubViewport.get_child(0) @onready var ui = $UiWrapper/UiSprite/SubViewport.get_child(0)
var revealed: bool = false: var revealed: bool = false:
set(on_stage): set(reveal):
revealed = on_stage revealed = reveal
if on_stage: if reveal:
wrapper.show() wrapper.show()
ui.show() ui.show()
else: else:
ui.hide() ui.hide()
await get_tree().create_timer(1).timeout
wrapper.hide() wrapper.hide()
var has_mouse: bool = false var has_mouse: bool = false
@ -34,6 +35,9 @@ func _on_mouse_exited():
func reveal(): func reveal():
revealed = true revealed = true
await get_tree().create_timer(5).timeout
if not has_mouse:
revealed = false
func collapse(): func collapse():
_on_mouse_exited() _on_mouse_exited()

View File

@ -56,7 +56,7 @@ albedo_texture = ExtResource("1_xsr58")
normal_enabled = true normal_enabled = true
normal_texture = ExtResource("1_p3lcj") 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"] [sub_resource type="MultiMesh" id="MultiMesh_ic3h7"]
transform_format = 1 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="."] [node name="wires" type="MeshInstance3D" parent="."]
material_override = SubResource("StandardMaterial3D_5ca5e") material_override = SubResource("StandardMaterial3D_5ca5e")
mesh = SubResource("ImmediateMesh_x1eeu") mesh = SubResource("ImmediateMesh_b56ch")
script = ExtResource("2_javfj") script = ExtResource("2_javfj")
points = Array[Vector3]([Vector3(0, 0, 0), Vector3(0, 1, 0)]) points = Array[Vector3]([Vector3(0, 0, 0), Vector3(0, 1, 0)])
start_thickness = 0.01 start_thickness = 0.01

View File

@ -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="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"] [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 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"] [node name="youth room" type="Node3D"]
script = ExtResource("1_aitp0") script = ExtResource("1_aitp0")
@ -2413,6 +2428,7 @@ autoplay = "idle"
[node name="Camera3D" type="Camera3D" parent="logic/ScenePlayer/childhood/PanelContainer/StartFrame/TextureRect/SubViewport/Node3D"] [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) 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 fov = 33.0
[node name="SpotLight3D" type="SpotLight3D" parent="logic/ScenePlayer/childhood/PanelContainer/StartFrame/TextureRect/SubViewport/Node3D"] [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"] [node name="SubViewport" type="SubViewport" parent="logic/Mask-interaction/UiWrapper/UiSprite"]
transparent_bg = true transparent_bg = true
size = Vector2i(350, 350)
render_target_update_mode = 4 render_target_update_mode = 4
[node name="Collectable_ui" parent="logic/Mask-interaction/UiWrapper/UiSprite/SubViewport" instance=ExtResource("11_jxai0")] [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"] [node name="SubViewport" type="SubViewport" parent="logic/clothes_interaction/UiWrapper/UiSprite"]
transparent_bg = true transparent_bg = true
size = Vector2i(350, 350) size = Vector2i(400, 350)
render_target_update_mode = 4 render_target_update_mode = 4
[node name="Collectable_ui" parent="logic/clothes_interaction/UiWrapper/UiSprite/SubViewport" instance=ExtResource("11_jxai0")] [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"] [node name="SubViewport" type="SubViewport" parent="logic/Comic-interaction/UiWrapper/UiSprite"]
transparent_bg = true transparent_bg = true
size = Vector2i(350, 350) size = Vector2i(400, 350)
render_target_update_mode = 4 render_target_update_mode = 4
[node name="Collectable_ui" parent="logic/Comic-interaction/UiWrapper/UiSprite/SubViewport" instance=ExtResource("11_jxai0")] [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"] [node name="SubViewport" type="SubViewport" parent="logic/Draeven-interaction/UiWrapper/UiSprite"]
transparent_bg = true transparent_bg = true
size = Vector2i(350, 350) size = Vector2i(400, 350)
render_target_update_mode = 4 render_target_update_mode = 4
[node name="Collectable_ui" parent="logic/Draeven-interaction/UiWrapper/UiSprite/SubViewport" instance=ExtResource("11_jxai0")] [node name="Collectable_ui" parent="logic/Draeven-interaction/UiWrapper/UiSprite/SubViewport" instance=ExtResource("11_jxai0")]
visible = false visible = false
scene = 3 scene = 3
is_story = true is_story = true
collected = true
item_name = "Starlight" item_name = "Starlight"
content_notes = "Alienation" content_notes = "Alienation"
@ -3026,7 +3042,7 @@ texture = SubResource("ViewportTexture_hdmps")
[node name="SubViewport" type="SubViewport" parent="logic/Mind Board/UiWrapper/UiSprite"] [node name="SubViewport" type="SubViewport" parent="logic/Mind Board/UiWrapper/UiSprite"]
transparent_bg = true transparent_bg = true
size = Vector2i(350, 350) size = Vector2i(400, 350)
render_target_update_mode = 4 render_target_update_mode = 4
[node name="Collectable_ui" parent="logic/Mind Board/UiWrapper/UiSprite/SubViewport" instance=ExtResource("11_jxai0")] [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"] [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) 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") script = SubResource("GDScript_rfgs6")
[node name="outside" parent="WorldEnvironment/window_glass/SubViewport" instance=ExtResource("32_2vgep")] [node name="outside" parent="WorldEnvironment/window_glass/SubViewport" instance=ExtResource("32_2vgep")]
@ -3242,9 +3259,9 @@ anchor_bottom = 1.0
grow_horizontal = 2 grow_horizontal = 2
grow_vertical = 2 grow_vertical = 2
mouse_filter = 1 mouse_filter = 1
script = SubResource("GDScript_icgq0")
[node name="Mouse" type="CenterContainer" parent="SceneUI"] [node name="Mouse" type="CenterContainer" parent="SceneUI"]
visible = false
layout_mode = 1 layout_mode = 1
anchors_preset = 15 anchors_preset = 15
anchor_right = 1.0 anchor_right = 1.0
@ -3253,7 +3270,6 @@ grow_horizontal = 2
grow_vertical = 2 grow_vertical = 2
[node name="TextureRect" type="TextureRect" parent="SceneUI/Mouse"] [node name="TextureRect" type="TextureRect" parent="SceneUI/Mouse"]
visible = false
layout_mode = 2 layout_mode = 2
texture = ExtResource("13_lqj71") texture = ExtResource("13_lqj71")

View File

@ -20,6 +20,21 @@ func _on_animation_player_animation_finished(anim_name):
print(\"yay\") 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"] [sub_resource type="Animation" id="Animation_wjx7h"]
resource_name = "test" resource_name = "test"
length = 5.0 length = 5.0
@ -36,21 +51,6 @@ tracks/0/keys = {
"values": [Vector3(0, -0.058, 0.77), Vector3(0, -0.058, 10.97)] "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"] [sub_resource type="AnimationLibrary" id="AnimationLibrary_l6qbr"]
_data = { _data = {
"RESET": SubResource("Animation_kdstq"), "RESET": SubResource("Animation_kdstq"),

View File

@ -104,10 +104,9 @@ func _show_buttons():
func hide(): func hide():
if visible: if visible:
_hide_buttons()
var tween = create_tween() var tween = create_tween()
tween.tween_property(self, "modulate", Color(0, 0, 0), 0.4) tween.tween_property(self, "modulate", Color(0, 0, 0), 0.4)
_hide_buttons() if not collapsed: _hide_buttons()
await tween.finished await tween.finished
visible = false visible = false
if has_stage: State.leave_stage(self) if has_stage: State.leave_stage(self)

View File

@ -27,12 +27,14 @@ func show():
if visible == false and not State.reduce_motion: if visible == false and not State.reduce_motion:
var tmp = text var tmp = text
var tween:Tween = create_tween() var tween:Tween = create_tween()
tween.tween_property(self, \"custom_minimum_size\", get_minimum_size(), 0.2) if is_instance_valid(tween):
text = \"\" tween.tween_property(self, \"custom_minimum_size\", get_minimum_size(), 0.2)
update_minimum_size() text = \"\"
visible = true update_minimum_size()
await tween.finished visible = true
text = tmp await tween.finished
text = tmp
else: else:
visible = true visible = true

View File

@ -1,9 +1,9 @@
extends RigidBody3D extends RigidBody3D
var has_stage: bool = false: var has_stage: bool = false:
set(focused): set(on_stage):
if has_stage != focused: if has_stage != on_stage:
if focused: if on_stage:
has_stage = true has_stage = true
if is_inside_tree(): if is_inside_tree():
camera.make_current() camera.make_current()
@ -11,7 +11,7 @@ var has_stage: bool = false:
Input.mouse_mode = Input.MOUSE_MODE_CAPTURED Input.mouse_mode = Input.MOUSE_MODE_CAPTURED
var jitter_tween: Tween = create_tween() var jitter_tween: Tween = create_tween()
jitter_tween.tween_property(self, "jitter_strength", 1, 1) 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: elif has_stage:
camera.current = true camera.current = true
jitter_strength = 1 jitter_strength = 1
@ -82,7 +82,7 @@ func _on_ini_room():
func _process(_delta): func _process(_delta):
if focus_ray.get_collider() != null: if focus_ray.get_collider() != null and not has_entered:
emit_signal("ui_entered") emit_signal("ui_entered")
has_entered = true has_entered = true
focus_ray.get_collider().reveal() focus_ray.get_collider().reveal()