fix: savegame picker layout, refactoring
This commit is contained in:
parent
7c755d8edb
commit
7741409668
|
|
@ -14,6 +14,8 @@ source_file="res://base-environments/transition/import/textures/garage_floor_rou
|
|||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
|
|
@ -21,6 +23,10 @@ mipmaps/generate=false
|
|||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
|
|
|
|||
|
|
@ -9,10 +9,12 @@ func show_settings(id: int = -1):
|
|||
await $AnimationPlayer.animation_finished
|
||||
if not id == -1:
|
||||
$TabContainer.current_tab = id
|
||||
State.pass_stage_to($TabContainer)
|
||||
|
||||
func vanish():
|
||||
State.save_settings()
|
||||
$AnimationPlayer.play("vanish")
|
||||
await $AnimationPlayer.animation_finished
|
||||
get_parent_control().visible = false
|
||||
|
||||
#func _input(event: InputEvent) -> void:
|
||||
# print(event)
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -305,7 +305,7 @@ func remove_sticky_note() -> StickyNote:
|
|||
return former_child
|
||||
|
||||
func exchange_sticky_note_with(new_note: StickyNote) -> StickyNote:
|
||||
var tmp = remove_sticky_note()
|
||||
var tmp := remove_sticky_note()
|
||||
attach_sticky_note(new_note)
|
||||
return tmp
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
extends Node
|
||||
extends Node
|
||||
class_name GlobalState
|
||||
|
||||
#region configuration
|
||||
|
|
@ -150,7 +150,7 @@ var ssil_enable:bool = false:
|
|||
set(value):
|
||||
ssil_enable = value
|
||||
environment_settings_changed.emit()
|
||||
|
||||
|
||||
var sdfgi_enable:bool = false:
|
||||
set(value):
|
||||
sdfgi_enable = value
|
||||
|
|
@ -265,31 +265,33 @@ var focus_locked: bool = false
|
|||
|
||||
# Intented for use when an actor wants focus for itself, can reclaim focus, thus dropping the stack that focused.
|
||||
func take_stage(actor: Object, reclaim: bool = false) -> bool:
|
||||
if focus_locked or Scenes.current_sequence != -1: return false
|
||||
if reclaim:
|
||||
stage_list.front().has_stage = false
|
||||
if stage_list.has(actor):
|
||||
while stage_list.pop_front() != actor: break
|
||||
actor.has_stage = true
|
||||
stage_list.push_front(actor)
|
||||
return actor.has_stage
|
||||
push_warning(actor, " wanted to reclaim focus, but was not on list.")
|
||||
return pass_stage_to(actor)
|
||||
print_debug("DEPRECATED: take_stage ", actor);
|
||||
return false
|
||||
#if focus_locked or Scenes.current_sequence != -1: return false
|
||||
#if reclaim:
|
||||
# stage_list.front().has_stage = false
|
||||
# if stage_list.has(actor):
|
||||
# while stage_list.pop_front() != actor: break
|
||||
# actor.has_stage = true
|
||||
# stage_list.push_front(actor)
|
||||
# return actor.has_stage
|
||||
# push_warning(actor, " wanted to reclaim focus, but was not on list.")
|
||||
#return pass_stage_to(actor)
|
||||
|
||||
# Element no longer wants focus, if Element itself is also dropped, this option can be chosen aswell.
|
||||
func leave_stage(actor:Object) -> bool:
|
||||
|
||||
if stage_list[0] == actor:
|
||||
actor.has_stage = false
|
||||
focus_locked = false
|
||||
stage_list.erase(actor)
|
||||
|
||||
if stage_list != []:
|
||||
stage_list.front().has_stage = true
|
||||
else:
|
||||
get_tree().quit()
|
||||
|
||||
print_debug("DEPRECATED: leave_stage ", actor);
|
||||
return false
|
||||
#if stage_list[0] == actor:
|
||||
# actor.has_stage = false
|
||||
# focus_locked = false
|
||||
#stage_list.erase(actor)
|
||||
|
||||
#if stage_list != []:
|
||||
# stage_list.front().has_stage = true
|
||||
#else:
|
||||
# get_tree().quit()
|
||||
#return false
|
||||
|
||||
# Used to put a new target on top of the Focus Stack.
|
||||
func pass_stage_to(target:Object, force = false, lock_focus = false) -> bool:
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ func execute() -> String:
|
|||
|
||||
load_game_button.disabled = not save_game_handle.has_existing_saves()
|
||||
|
||||
save_game_handle.visible = save_game_handle.has_existing_saves()
|
||||
#save_game_handle.visible = save_game_handle.has_existing_saves()
|
||||
|
||||
_activate()
|
||||
var result = await _next_room
|
||||
|
|
@ -73,13 +73,11 @@ func _choose(choice: String) -> void:
|
|||
|
||||
|
||||
func _activate() -> void:
|
||||
save_game_handle.visible = false
|
||||
|
||||
for child: Control in $PanelContainer.get_children():
|
||||
child.focus_mode = Control.FOCUS_ALL
|
||||
child.modulate = Color.WHITE
|
||||
child.mouse_filter = Control.MOUSE_FILTER_STOP
|
||||
|
||||
|
||||
if continue_button.visible:
|
||||
continue_button.grab_focus()
|
||||
else:
|
||||
|
|
@ -87,8 +85,6 @@ func _activate() -> void:
|
|||
|
||||
|
||||
func _deactivate() -> void:
|
||||
save_game_handle.visible = false
|
||||
|
||||
for child: Control in $PanelContainer.get_children():
|
||||
child.focus_mode = FOCUS_NONE
|
||||
child.modulate = Color.WEB_GRAY
|
||||
|
|
|
|||
|
|
@ -1,258 +1,18 @@
|
|||
[gd_scene load_steps=22 format=3 uid="uid://b51wdql4mby47"]
|
||||
[gd_scene load_steps=12 format=3 uid="uid://b51wdql4mby47"]
|
||||
|
||||
[ext_resource type="Theme" uid="uid://b056fn288p8ha" path="res://logic-scenes/themes/handwriting.theme" id="1_2dg4n"]
|
||||
[ext_resource type="Script" uid="uid://c3o65t2rwpbtn" path="res://ui/menu_main/main_menu.gd" id="2_rm576"]
|
||||
[ext_resource type="Texture2D" uid="uid://dedg31cqac3n0" path="res://import/interface-elements/frame-of-mind-logo.png" id="3_cm266"]
|
||||
[ext_resource type="PackedScene" uid="uid://gmxenhavh1lp" path="res://ui/menu_main/video_settings.tscn" id="3_f0dcd"]
|
||||
[ext_resource type="Texture2D" uid="uid://bu6o68w763512" path="res://import/interface-elements/game-of-thoughts.png" id="4_g8g3n"]
|
||||
[ext_resource type="Script" uid="uid://cxton1pffwxk4" path="res://code/button_themer.gd" id="4_iotk1"]
|
||||
[ext_resource type="Script" uid="uid://sa15wakvpj2e" path="res://dev-util/bug_button.gd" id="4_j5v2v"]
|
||||
[ext_resource type="Script" uid="uid://byiih47fi6740" path="res://dev-util/settings_popup.gd" id="4_k8jo0"]
|
||||
[ext_resource type="PackedScene" uid="uid://dfhkfocy8axb8" path="res://ui/menu_main/audio_settings.tscn" id="4_o07mg"]
|
||||
[ext_resource type="Script" uid="uid://dqq0wq3dvbnjs" path="res://dev-util/i18n_texture_rect.gd" id="5_8u0te"]
|
||||
[ext_resource type="Script" uid="uid://0tb763w0vfv7" path="res://tab_container.gd" id="5_lhfti"]
|
||||
[ext_resource type="PackedScene" uid="uid://b3wlecqvelh22" path="res://ui/menu_main/accessibility_settings.tscn" id="6_875a3"]
|
||||
[ext_resource type="Texture2D" uid="uid://bv1o2xo71wvp6" path="res://import/interface-elements/gedanken-spiel.png" id="6_g8g3n"]
|
||||
[ext_resource type="PackedScene" uid="uid://dxwqkxq6qjk7i" path="res://ui/menu_main/gameplay_settings.tscn" id="6_p7ypt"]
|
||||
[ext_resource type="PackedScene" uid="uid://chal0ioagspx0" path="res://ui/menu_main/content_settings.tscn" id="7_pnd48"]
|
||||
[ext_resource type="Script" uid="uid://dugfwcvp7i01k" path="res://ui/menu_main/save_game_list.gd" id="8_o0cpj"]
|
||||
[ext_resource type="PackedScene" uid="uid://cvetdhqpr18ad" path="res://ui/settings_popup/settings_popup.tscn" id="9_vhfai"]
|
||||
[ext_resource type="PackedScene" uid="uid://bsjc1ry0qpe61" path="res://ui/save_game_list/save_game_list.tscn" id="10_vhfai"]
|
||||
|
||||
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_njt06"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_3pjwp"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("../../Decoration/decoration:modulate")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Color(1, 1, 1, 0)]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("../../Decoration/decoration:rotation")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [1.26885]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("..:modulate")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Color(1, 1, 1, 0)]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("../..:scale")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector2(1, 0.57)]
|
||||
}
|
||||
tracks/4/type = "value"
|
||||
tracks/4/imported = false
|
||||
tracks/4/enabled = true
|
||||
tracks/4/path = NodePath("../..:self_modulate")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Color(1, 1, 1, 0)]
|
||||
}
|
||||
tracks/5/type = "value"
|
||||
tracks/5/imported = false
|
||||
tracks/5/enabled = true
|
||||
tracks/5/path = NodePath("../..:visible")
|
||||
tracks/5/interp = 1
|
||||
tracks/5/loop_wrap = true
|
||||
tracks/5/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_i4c5w"]
|
||||
resource_name = "reveal"
|
||||
length = 2.0
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("../../Decoration/decoration:modulate")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0.4, 1.03333),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("../../Decoration/decoration:rotation")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0.0333333, 1.76667),
|
||||
"transitions": PackedFloat32Array(0.353554, 1),
|
||||
"update": 0,
|
||||
"values": [0.610865, 0.347321]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("..:modulate")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0.266667, 0.533333),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("../..:scale")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0, 0.866667),
|
||||
"transitions": PackedFloat32Array(0.277392, 1),
|
||||
"update": 0,
|
||||
"values": [Vector2(1, 0.57), Vector2(1, 1)]
|
||||
}
|
||||
tracks/4/type = "value"
|
||||
tracks/4/imported = false
|
||||
tracks/4/enabled = true
|
||||
tracks/4/path = NodePath("../..:self_modulate")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/keys = {
|
||||
"times": PackedFloat32Array(0, 1.03333),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)]
|
||||
}
|
||||
tracks/5/type = "value"
|
||||
tracks/5/imported = false
|
||||
tracks/5/enabled = true
|
||||
tracks/5/path = NodePath("../..:visible")
|
||||
tracks/5/interp = 1
|
||||
tracks/5/loop_wrap = true
|
||||
tracks/5/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [true]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_a3iyq"]
|
||||
resource_name = "vanish"
|
||||
length = 1.5
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("../..:self_modulate")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0.333333, 0.633333),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("../..:scale")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector2(1, 1)]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("../../Decoration/decoration:modulate")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0.133333, 1.46667),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("../../Decoration/decoration:rotation")
|
||||
tracks/3/interp = 2
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0, 0.266667, 1.43333),
|
||||
"transitions": PackedFloat32Array(1, 2.21914, 1),
|
||||
"update": 0,
|
||||
"values": [0.347507, 0.174533, 1.03847]
|
||||
}
|
||||
tracks/4/type = "value"
|
||||
tracks/4/imported = false
|
||||
tracks/4/enabled = true
|
||||
tracks/4/path = NodePath("..:modulate")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/keys = {
|
||||
"times": PackedFloat32Array(0.1, 0.433333),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)]
|
||||
}
|
||||
tracks/5/type = "value"
|
||||
tracks/5/imported = false
|
||||
tracks/5/enabled = true
|
||||
tracks/5/path = NodePath("../..:visible")
|
||||
tracks/5/interp = 1
|
||||
tracks/5/loop_wrap = true
|
||||
tracks/5/keys = {
|
||||
"times": PackedFloat32Array(0, 1.5),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"values": [true, false]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_lmxul"]
|
||||
_data = {
|
||||
&"RESET": SubResource("Animation_3pjwp"),
|
||||
&"reveal": SubResource("Animation_i4c5w"),
|
||||
&"vanish": SubResource("Animation_a3iyq")
|
||||
}
|
||||
|
||||
[node name="MainMenu" type="Panel"]
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
|
|
@ -369,92 +129,13 @@ grow_horizontal = 2
|
|||
grow_vertical = 2
|
||||
mouse_filter = 0
|
||||
|
||||
[node name="SettingsPopup" type="PanelContainer" parent="SettingsContainer"]
|
||||
unique_name_in_owner = true
|
||||
visible = false
|
||||
self_modulate = Color(1, 1, 1, 0)
|
||||
layout_mode = 2
|
||||
script = ExtResource("4_k8jo0")
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="SettingsContainer/SettingsPopup"]
|
||||
root_node = NodePath("../TabContainer/Video Settings")
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_lmxul")
|
||||
}
|
||||
autoplay = "RESET"
|
||||
|
||||
[node name="Decoration" type="Control" parent="SettingsContainer/SettingsPopup"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
size_flags_vertical = 4
|
||||
|
||||
[node name="decoration" type="PanelContainer" parent="SettingsContainer/SettingsPopup/Decoration"]
|
||||
modulate = Color(1, 1, 1, 0)
|
||||
layout_mode = 0
|
||||
offset_left = -374.0
|
||||
offset_top = -378.5
|
||||
offset_right = 365.0
|
||||
offset_bottom = 374.5
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
rotation = 1.26885
|
||||
pivot_offset = Vector2(374, 378.5)
|
||||
|
||||
[node name="TabContainer" type="TabContainer" parent="SettingsContainer/SettingsPopup"]
|
||||
modulate = Color(1, 1, 1, 0)
|
||||
layout_mode = 2
|
||||
current_tab = 0
|
||||
use_hidden_tabs_for_min_size = true
|
||||
script = ExtResource("5_lhfti")
|
||||
|
||||
[node name="Accessibility" parent="SettingsContainer/SettingsPopup/TabContainer" instance=ExtResource("6_875a3")]
|
||||
[node name="SettingsPopup" parent="SettingsContainer" instance=ExtResource("9_vhfai")]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Video Settings" parent="SettingsContainer/SettingsPopup/TabContainer" instance=ExtResource("3_f0dcd")]
|
||||
unique_name_in_owner = true
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
metadata/_tab_index = 1
|
||||
|
||||
[node name="Audio Settings" parent="SettingsContainer/SettingsPopup/TabContainer" instance=ExtResource("4_o07mg")]
|
||||
unique_name_in_owner = true
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
metadata/_tab_index = 2
|
||||
|
||||
[node name="Gameplay Settings" parent="SettingsContainer/SettingsPopup/TabContainer" instance=ExtResource("6_p7ypt")]
|
||||
unique_name_in_owner = true
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
metadata/_tab_index = 3
|
||||
|
||||
[node name="Content Notes" parent="SettingsContainer/SettingsPopup/TabContainer" instance=ExtResource("7_pnd48")]
|
||||
unique_name_in_owner = true
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
metadata/_tab_index = 4
|
||||
|
||||
[node name="ColorRect" type="ColorRect" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
color = Color(0, 0, 0, 0.5019608)
|
||||
|
||||
[node name="SaveGameList" type="CenterContainer" parent="ColorRect"]
|
||||
[node name="SaveGameList" parent="." instance=ExtResource("10_vhfai")]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
mouse_filter = 2
|
||||
script = ExtResource("8_o0cpj")
|
||||
metadata/_custom_type_script = "uid://dugfwcvp7i01k"
|
||||
|
||||
[node name="CenterContainer" type="CenterContainer" parent="."]
|
||||
visible = false
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
class_name SaveGameList extends CenterContainer
|
||||
class_name SaveGameList extends Control
|
||||
|
||||
signal _picked(save_game: SaveGame)
|
||||
|
||||
|
|
@ -7,7 +7,8 @@ var save_buttons: Array[SaveGameDisplay]
|
|||
@export var update_display: bool:
|
||||
set(value):
|
||||
_load_games()
|
||||
var scroll_container: ScrollContainer
|
||||
|
||||
@onready var list_container: VBoxContainer = %ListContainer
|
||||
|
||||
func _validate_property(property: Dictionary) -> void:
|
||||
if property.name == "saves":
|
||||
|
|
@ -15,8 +16,9 @@ func _validate_property(property: Dictionary) -> void:
|
|||
|
||||
|
||||
func _ready() -> void:
|
||||
_close()
|
||||
_load_games()
|
||||
hide()
|
||||
set_process_input(false)
|
||||
|
||||
func _ensure_directory() -> void:
|
||||
var dir := DirAccess.open(State.user_saves_path)
|
||||
|
|
@ -56,18 +58,12 @@ func _sort_saves() -> void:
|
|||
|
||||
func _rebuild_buttons() -> void:
|
||||
save_buttons = []
|
||||
if scroll_container != null:
|
||||
scroll_container.queue_free()
|
||||
|
||||
scroll_container = ScrollContainer.new()
|
||||
|
||||
scroll_container.horizontal_scroll_mode = ScrollContainer.SCROLL_MODE_DISABLED
|
||||
scroll_container.custom_minimum_size = Vector2(0, ProjectSettings.get_setting("display/window/size/viewport_height") - 256)
|
||||
add_child(scroll_container)
|
||||
for child in list_container.get_children():
|
||||
child.queue_free()
|
||||
|
||||
var save_box := VBoxContainer.new()
|
||||
save_box.add_theme_constant_override("separation", 16)
|
||||
scroll_container.add_child(save_box)
|
||||
list_container.add_child(save_box)
|
||||
|
||||
for i in range(saves.size()):
|
||||
var new_button := SaveGameDisplay.new(saves[i], i+1)
|
||||
|
|
@ -96,26 +92,24 @@ func cancel()->void:
|
|||
|
||||
# This function is called when the user us supposed to choose a slot to load or create a new game.
|
||||
func pick_save_slot() -> SaveGame:
|
||||
await _open()
|
||||
await open()
|
||||
var result = await _picked
|
||||
await _close()
|
||||
await close()
|
||||
return result
|
||||
|
||||
|
||||
# TODO: ugh, godot tweens are the wurst
|
||||
func _open() -> void:
|
||||
get_parent_control().show()
|
||||
func open() -> void:
|
||||
show()
|
||||
set_process_input(true)
|
||||
save_buttons[0].grab_focus()
|
||||
modulate = Color.TRANSPARENT
|
||||
visible = true
|
||||
var tween := get_tree().create_tween()
|
||||
tween.tween_property(self, "modulate", Color.WHITE, 0.5)
|
||||
await tween.finished
|
||||
set_process_input(true)
|
||||
|
||||
func _close() -> void:
|
||||
|
||||
func close() -> void:
|
||||
set_process_input(false)
|
||||
var tween := get_tree().create_tween()
|
||||
tween.tween_property(self, "modulate", Color.TRANSPARENT, 0.5)
|
||||
await tween.finished
|
||||
visible = false
|
||||
get_parent_control().hide()
|
||||
hide()
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ var has_stage:bool = false:
|
|||
var fps_enabled: bool:
|
||||
set(value):
|
||||
fps_enabled = value
|
||||
|
||||
|
||||
@onready var fps_selector: SpinBox = %MaxFps
|
||||
|
||||
@export var enable_hdr: bool = false:
|
||||
|
|
@ -93,9 +93,9 @@ var has_changed: bool = false:
|
|||
|
||||
func _ready() -> void:
|
||||
load_settings()
|
||||
|
||||
|
||||
propagate_settings()
|
||||
|
||||
|
||||
fullscreen_selector.item_selected.connect(func(value): window_mode = select_id_to_window_mode(value))
|
||||
scale_selector.value_changed.connect(func(value): render_scale = value)
|
||||
upscale_selector.item_selected.connect(func(value): upscale_mode = value)
|
||||
|
|
@ -103,15 +103,15 @@ func _ready() -> void:
|
|||
shadow_selector.item_selected.connect(func(value): shadow_quality = value)
|
||||
msaa_selector.item_selected.connect(func(value): msaa = value)
|
||||
vsync_selector.item_selected.connect(func(value): vsync_mode = value)
|
||||
|
||||
|
||||
scale_selector.value_changed.connect(func(value): render_scale= value)
|
||||
fps_selector.value_changed.connect(func(value): max_fps = value)
|
||||
fps_enabler.toggled.connect(func(value): fps_enabled = value)
|
||||
|
||||
|
||||
changed.connect(func(): has_changed = true)
|
||||
|
||||
|
||||
preset_selected = preset_selected
|
||||
|
||||
|
||||
%ConfirmButton.pressed.connect(_on_confirm_button_pressed)
|
||||
%ExitButton.pressed.connect(_on_exit_button_pressed)
|
||||
%ConfirmExit.pressed.connect(_on_exit_confirmed)
|
||||
|
|
@ -122,17 +122,17 @@ func _ready() -> void:
|
|||
%QualityPreset.pressed.connect(_on_quality_preset_pressed)
|
||||
|
||||
func load_settings():
|
||||
|
||||
|
||||
if FileAccess.file_exists(settings_path):
|
||||
var file = FileAccess.open(settings_path, FileAccess.READ)
|
||||
var raw_json = FileAccess.get_file_as_string(settings_path)
|
||||
file.close()
|
||||
var parsed: Dictionary = JSON.parse_string(raw_json)
|
||||
|
||||
|
||||
for key in parsed.keys():
|
||||
if key in self:
|
||||
set(key, parsed[key])
|
||||
|
||||
|
||||
else:
|
||||
if Steam.isSteamRunningOnSteamDeck():
|
||||
_on_performance_preset_pressed()
|
||||
|
|
@ -165,18 +165,18 @@ func save_settings():
|
|||
"vsync_mod": vsync_mode,
|
||||
"preset_selected": preset_selected
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
var file = FileAccess.open(settings_path, FileAccess.WRITE)
|
||||
file.store_string(JSON.stringify(out_dict))
|
||||
file.close()
|
||||
|
||||
|
||||
has_changed = false
|
||||
|
||||
func _on_exit_confirmed() -> void:
|
||||
leave_stage.emit()
|
||||
State.leave_stage(self)
|
||||
|
||||
|
||||
func _on_exit_button_pressed() -> void:
|
||||
if has_changed:
|
||||
$Popup.show()
|
||||
|
|
@ -197,7 +197,7 @@ func _on_confirm_button_pressed() -> void:
|
|||
0:
|
||||
State.ssil_enable = false
|
||||
State.sdfgi_enable = false
|
||||
1:
|
||||
1:
|
||||
State.ssil_enable = false
|
||||
State.sdfgi_enable = true
|
||||
ProjectSettings.set_setting("rendering/global_illumination/sdfgi/probe_ray_count", 8)
|
||||
|
|
@ -218,16 +218,16 @@ func _on_confirm_button_pressed() -> void:
|
|||
RenderingServer.directional_soft_shadow_filter_set_quality(shadow_quality*2+1)
|
||||
ProjectSettings.set_setting("rendering/lights_and_shadows/directional_shadow/soft_shadow_filter_quality", shadow_quality)
|
||||
RenderingServer.positional_soft_shadow_filter_set_quality(shadow_quality*2+1)
|
||||
|
||||
|
||||
ProjectSettings.set_setting("rendering/anti_aliasing/quality/msaa_3d", msaa)
|
||||
ProjectSettings.set_setting("display/window/vsync/vsync_mode", vsync_mode)
|
||||
|
||||
|
||||
save_settings()
|
||||
|
||||
func _on_performance_preset_pressed() -> void:
|
||||
ignore_changes = true
|
||||
has_changed = true
|
||||
|
||||
|
||||
render_scale = 0.8
|
||||
max_fps = 60
|
||||
fps_enabled = true
|
||||
|
|
@ -235,18 +235,18 @@ func _on_performance_preset_pressed() -> void:
|
|||
shadow_quality = 0
|
||||
msaa = 0
|
||||
vsync_mode = DisplayServer.VSyncMode.VSYNC_DISABLED
|
||||
|
||||
|
||||
propagate_settings()
|
||||
|
||||
|
||||
changed.emit()
|
||||
ignore_changes = false
|
||||
|
||||
|
||||
preset_selected = 1
|
||||
|
||||
func _on_balanced_preset_pressed() -> void:
|
||||
ignore_changes = true
|
||||
has_changed = true
|
||||
|
||||
|
||||
render_scale = 1
|
||||
max_fps = 60
|
||||
fps_enabled = true
|
||||
|
|
@ -254,18 +254,18 @@ func _on_balanced_preset_pressed() -> void:
|
|||
shadow_quality = 1
|
||||
msaa = 1
|
||||
vsync_mode = DisplayServer.VSyncMode.VSYNC_ENABLED
|
||||
|
||||
|
||||
propagate_settings()
|
||||
|
||||
|
||||
changed.emit()
|
||||
ignore_changes = false
|
||||
|
||||
|
||||
preset_selected = 2
|
||||
|
||||
func _on_quality_preset_pressed() -> void:
|
||||
ignore_changes = true
|
||||
has_changed = true
|
||||
|
||||
|
||||
render_scale = 1
|
||||
max_fps = 60
|
||||
fps_enabled = false
|
||||
|
|
@ -273,12 +273,12 @@ func _on_quality_preset_pressed() -> void:
|
|||
shadow_quality = 2
|
||||
msaa = 3
|
||||
vsync_mode = DisplayServer.VSyncMode.VSYNC_ENABLED
|
||||
|
||||
|
||||
propagate_settings()
|
||||
|
||||
|
||||
changed.emit()
|
||||
ignore_changes = false
|
||||
|
||||
|
||||
preset_selected = 3
|
||||
|
||||
func window_mode_to_select_id(mode: DisplayServer.WindowMode) -> int:
|
||||
|
|
|
|||
|
|
@ -0,0 +1,63 @@
|
|||
[gd_scene load_steps=2 format=3 uid="uid://bsjc1ry0qpe61"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dugfwcvp7i01k" path="res://ui/menu_main/save_game_list.gd" id="1_w1a7u"]
|
||||
|
||||
[node name="SaveGameList" type="Control"]
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
mouse_force_pass_scroll_events = false
|
||||
script = ExtResource("1_w1a7u")
|
||||
|
||||
[node name="ColorRect" type="ColorRect" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
color = Color(0, 0, 0, 0.5019608)
|
||||
|
||||
[node name="MarginContainer" type="MarginContainer" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
theme_override_constants/margin_left = 320
|
||||
theme_override_constants/margin_top = 100
|
||||
theme_override_constants/margin_right = 320
|
||||
theme_override_constants/margin_bottom = 100
|
||||
|
||||
[node name="ColorRect" type="ColorRect" parent="MarginContainer"]
|
||||
layout_mode = 2
|
||||
color = Color(0, 0, 0, 0.2509804)
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="ScrollContainer" type="ScrollContainer" parent="MarginContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
follow_focus = true
|
||||
|
||||
[node name="ListContainer" type="VBoxContainer" parent="MarginContainer/VBoxContainer/ScrollContainer"]
|
||||
unique_name_in_owner = true
|
||||
clip_contents = true
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 6
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="MarginContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
alignment = 2
|
||||
|
||||
[node name="Button" type="Button" parent="MarginContainer/VBoxContainer/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
size_flags_vertical = 4
|
||||
text = "Zurück"
|
||||
|
|
@ -0,0 +1,307 @@
|
|||
[gd_scene load_steps=12 format=3 uid="uid://cvetdhqpr18ad"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://byiih47fi6740" path="res://dev-util/settings_popup.gd" id="1_87f5w"]
|
||||
[ext_resource type="Script" uid="uid://0tb763w0vfv7" path="res://tab_container.gd" id="2_3fpo3"]
|
||||
[ext_resource type="PackedScene" uid="uid://b3wlecqvelh22" path="res://ui/menu_main/accessibility_settings.tscn" id="3_x8md3"]
|
||||
[ext_resource type="PackedScene" uid="uid://gmxenhavh1lp" path="res://ui/menu_main/video_settings.tscn" id="4_vsgh1"]
|
||||
[ext_resource type="PackedScene" uid="uid://dfhkfocy8axb8" path="res://ui/menu_main/audio_settings.tscn" id="5_kaera"]
|
||||
[ext_resource type="PackedScene" uid="uid://dxwqkxq6qjk7i" path="res://ui/menu_main/gameplay_settings.tscn" id="6_e4y1h"]
|
||||
[ext_resource type="PackedScene" uid="uid://chal0ioagspx0" path="res://ui/menu_main/content_settings.tscn" id="7_5phyg"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_3pjwp"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("../../Decoration/decoration:modulate")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Color(1, 1, 1, 0)]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("../../Decoration/decoration:rotation")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [1.26885]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("..:modulate")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Color(1, 1, 1, 0)]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("../..:scale")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector2(1, 0.57)]
|
||||
}
|
||||
tracks/4/type = "value"
|
||||
tracks/4/imported = false
|
||||
tracks/4/enabled = true
|
||||
tracks/4/path = NodePath("../..:self_modulate")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Color(1, 1, 1, 0)]
|
||||
}
|
||||
tracks/5/type = "value"
|
||||
tracks/5/imported = false
|
||||
tracks/5/enabled = true
|
||||
tracks/5/path = NodePath("../..:visible")
|
||||
tracks/5/interp = 1
|
||||
tracks/5/loop_wrap = true
|
||||
tracks/5/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_i4c5w"]
|
||||
resource_name = "reveal"
|
||||
length = 2.0
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("../../Decoration/decoration:modulate")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0.4, 1.03333),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("../../Decoration/decoration:rotation")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0.0333333, 1.76667),
|
||||
"transitions": PackedFloat32Array(0.353554, 1),
|
||||
"update": 0,
|
||||
"values": [0.610865, 0.347321]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("..:modulate")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0.266667, 0.533333),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("../..:scale")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0, 0.866667),
|
||||
"transitions": PackedFloat32Array(0.277392, 1),
|
||||
"update": 0,
|
||||
"values": [Vector2(1, 0.57), Vector2(1, 1)]
|
||||
}
|
||||
tracks/4/type = "value"
|
||||
tracks/4/imported = false
|
||||
tracks/4/enabled = true
|
||||
tracks/4/path = NodePath("../..:self_modulate")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/keys = {
|
||||
"times": PackedFloat32Array(0, 1.03333),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)]
|
||||
}
|
||||
tracks/5/type = "value"
|
||||
tracks/5/imported = false
|
||||
tracks/5/enabled = true
|
||||
tracks/5/path = NodePath("../..:visible")
|
||||
tracks/5/interp = 1
|
||||
tracks/5/loop_wrap = true
|
||||
tracks/5/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [true]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_a3iyq"]
|
||||
resource_name = "vanish"
|
||||
length = 1.5
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("../..:self_modulate")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0.333333, 0.633333),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("../..:scale")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector2(1, 1)]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("../../Decoration/decoration:modulate")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0.133333, 1.46667),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("../../Decoration/decoration:rotation")
|
||||
tracks/3/interp = 2
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0, 0.266667, 1.43333),
|
||||
"transitions": PackedFloat32Array(1, 2.21914, 1),
|
||||
"update": 0,
|
||||
"values": [0.347507, 0.174533, 1.03847]
|
||||
}
|
||||
tracks/4/type = "value"
|
||||
tracks/4/imported = false
|
||||
tracks/4/enabled = true
|
||||
tracks/4/path = NodePath("..:modulate")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/keys = {
|
||||
"times": PackedFloat32Array(0.1, 0.433333),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)]
|
||||
}
|
||||
tracks/5/type = "value"
|
||||
tracks/5/imported = false
|
||||
tracks/5/enabled = true
|
||||
tracks/5/path = NodePath("../..:visible")
|
||||
tracks/5/interp = 1
|
||||
tracks/5/loop_wrap = true
|
||||
tracks/5/keys = {
|
||||
"times": PackedFloat32Array(0, 1.5),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"values": [true, false]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_lmxul"]
|
||||
_data = {
|
||||
&"RESET": SubResource("Animation_3pjwp"),
|
||||
&"reveal": SubResource("Animation_i4c5w"),
|
||||
&"vanish": SubResource("Animation_a3iyq")
|
||||
}
|
||||
|
||||
[node name="SettingsPopup" type="PanelContainer"]
|
||||
visible = false
|
||||
self_modulate = Color(1, 1, 1, 0)
|
||||
script = ExtResource("1_87f5w")
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||
root_node = NodePath("../TabContainer/Video Settings")
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_lmxul")
|
||||
}
|
||||
autoplay = "RESET"
|
||||
|
||||
[node name="Decoration" type="Control" parent="."]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
size_flags_vertical = 4
|
||||
|
||||
[node name="decoration" type="PanelContainer" parent="Decoration"]
|
||||
modulate = Color(1, 1, 1, 0)
|
||||
layout_mode = 0
|
||||
offset_left = -374.0
|
||||
offset_top = -378.5
|
||||
offset_right = 365.0
|
||||
offset_bottom = 374.5
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
rotation = 1.26885
|
||||
pivot_offset = Vector2(374, 378.5)
|
||||
|
||||
[node name="TabContainer" type="TabContainer" parent="."]
|
||||
modulate = Color(1, 1, 1, 0)
|
||||
layout_mode = 2
|
||||
current_tab = 0
|
||||
use_hidden_tabs_for_min_size = true
|
||||
script = ExtResource("2_3fpo3")
|
||||
|
||||
[node name="Accessibility" parent="TabContainer" instance=ExtResource("3_x8md3")]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Video Settings" parent="TabContainer" instance=ExtResource("4_vsgh1")]
|
||||
unique_name_in_owner = true
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
metadata/_tab_index = 1
|
||||
|
||||
[node name="Audio Settings" parent="TabContainer" instance=ExtResource("5_kaera")]
|
||||
unique_name_in_owner = true
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
metadata/_tab_index = 2
|
||||
|
||||
[node name="Gameplay Settings" parent="TabContainer" instance=ExtResource("6_e4y1h")]
|
||||
unique_name_in_owner = true
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
metadata/_tab_index = 3
|
||||
|
||||
[node name="Content Notes" parent="TabContainer" instance=ExtResource("7_5phyg")]
|
||||
unique_name_in_owner = true
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
metadata/_tab_index = 4
|
||||
Loading…
Reference in New Issue