diff options
author | metamuffin <metamuffin@disroot.org> | 2025-09-04 23:47:24 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2025-09-05 23:07:07 +0200 |
commit | 81deaf81c800900e30046cb927be1c9d91ae61b8 (patch) | |
tree | 20ce9898465e8d4c49eeff12a9ea55572517ea7b /client/gui/menus/setup | |
parent | fd80142282fcef628466a18e3ea62f0d1372d807 (diff) | |
download | hurrycurry-81deaf81c800900e30046cb927be1c9d91ae61b8.tar hurrycurry-81deaf81c800900e30046cb927be1c9d91ae61b8.tar.bz2 hurrycurry-81deaf81c800900e30046cb927be1c9d91ae61b8.tar.zst |
reorganize client gui files
Diffstat (limited to 'client/gui/menus/setup')
-rw-r--r-- | client/gui/menus/setup/hairstyle_preview.gd | 27 | ||||
-rw-r--r-- | client/gui/menus/setup/hairstyle_preview.gd.uid | 1 | ||||
-rw-r--r-- | client/gui/menus/setup/hairstyle_preview.tscn | 55 | ||||
-rw-r--r-- | client/gui/menus/setup/setup.gd | 110 | ||||
-rw-r--r-- | client/gui/menus/setup/setup.gd.uid | 1 | ||||
-rw-r--r-- | client/gui/menus/setup/setup.tscn | 398 |
6 files changed, 592 insertions, 0 deletions
diff --git a/client/gui/menus/setup/hairstyle_preview.gd b/client/gui/menus/setup/hairstyle_preview.gd new file mode 100644 index 00000000..78576491 --- /dev/null +++ b/client/gui/menus/setup/hairstyle_preview.gd @@ -0,0 +1,27 @@ +# Hurry Curry! - a game about cooking +# Copyright (C) 2025 Hurry Curry! contributors +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, version 3 of the License only. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see <https://www.gnu.org/licenses/>. +# +class_name HairstylePreview +extends VBoxContainer + +signal selected(character_style: Dictionary) + +func setup(hairstyle: int, group: ButtonGroup): + var character_style = Global.default_profile.character_style + character_style.hairstyle = hairstyle + $HairViewport/Node3D/Character.set_style(character_style, "chef") + $Select.button_group = group + $Select.text = tr("c.setup.uniform.value").format([hairstyle + 1]) + $Select.pressed.connect(func(): selected.emit(character_style)) diff --git a/client/gui/menus/setup/hairstyle_preview.gd.uid b/client/gui/menus/setup/hairstyle_preview.gd.uid new file mode 100644 index 00000000..8f5b3cd4 --- /dev/null +++ b/client/gui/menus/setup/hairstyle_preview.gd.uid @@ -0,0 +1 @@ +uid://dvveoqur81l0s diff --git a/client/gui/menus/setup/hairstyle_preview.tscn b/client/gui/menus/setup/hairstyle_preview.tscn new file mode 100644 index 00000000..ee4a65e9 --- /dev/null +++ b/client/gui/menus/setup/hairstyle_preview.tscn @@ -0,0 +1,55 @@ +[gd_scene load_steps=7 format=3 uid="uid://dfon56nwd2tgn"] + +[ext_resource type="Script" uid="uid://dvveoqur81l0s" path="res://gui/menus/setup/hairstyle_preview.gd" id="1_0qdmv"] +[ext_resource type="Shader" uid="uid://qjrh2imc53u1" path="res://gui/resources/shaders/grayscale.gdshader" id="1_sf0gc"] +[ext_resource type="PackedScene" uid="uid://b3hhir2fvnunu" path="res://player/character/character.tscn" id="2_jtitc"] + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_entrs"] +shader = ExtResource("1_sf0gc") + +[sub_resource type="ViewportTexture" id="ViewportTexture_giuq2"] +viewport_path = NodePath("HairViewport") + +[sub_resource type="ButtonGroup" id="ButtonGroup_c5p7t"] + +[node name="HairstylePreview" type="VBoxContainer"] +offset_right = 40.0 +offset_bottom = 40.0 +script = ExtResource("1_0qdmv") + +[node name="Preview" type="TextureRect" parent="."] +material = SubResource("ShaderMaterial_entrs") +layout_mode = 2 +texture = SubResource("ViewportTexture_giuq2") + +[node name="Select" type="CheckBox" parent="."] +layout_mode = 2 +button_group = SubResource("ButtonGroup_c5p7t") +text = "Hairstyle 1" + +[node name="HairViewport" type="SubViewport" parent="."] +own_world_3d = true +transparent_bg = true +msaa_3d = 1 +size = Vector2i(128, 128) + +[node name="Node3D" type="Node3D" parent="HairViewport"] + +[node name="Camera3D" type="Camera3D" parent="HairViewport/Node3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.75, 1.5) +fov = 25.5 + +[node name="Character" parent="HairViewport/Node3D" instance=ExtResource("2_jtitc")] + +[node name="SpotLight3D" type="SpotLight3D" parent="HairViewport/Node3D"] +transform = Transform3D(0.866025, 0, -0.5, 0, 1, 0, 0.5, 0, 0.866025, -2, 0, 2) + +[node name="SpotLight3D2" type="SpotLight3D" parent="HairViewport/Node3D"] +transform = Transform3D(0.876399, 0, 0.481585, 0, 1, 0, -0.481585, 0, 0.876399, 2, 0.499189, 2) +light_color = Color(0.857819, 0.80038, 0.775519, 1) +light_energy = 4.11 + +[node name="SpotLight3D3" type="SpotLight3D" parent="HairViewport/Node3D"] +transform = Transform3D(-0.965926, 0, -0.258819, -0.129409, 0.866025, 0.482963, 0.224144, 0.5, -0.836516, -1, 2, -2) +light_color = Color(0.540595, 0.865144, 1, 1) +light_energy = 8.2 diff --git a/client/gui/menus/setup/setup.gd b/client/gui/menus/setup/setup.gd new file mode 100644 index 00000000..6170786c --- /dev/null +++ b/client/gui/menus/setup/setup.gd @@ -0,0 +1,110 @@ +# Hurry Curry! - a game about cooking +# Copyright (C) 2025 Hurry Curry! contributors +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, version 3 of the License only. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see <https://www.gnu.org/licenses/>. +# +extends Menu + +const SCROLL_SPEED := 500. + +var character_style = null # : Dictionary? + +@onready var anim: AnimationPlayer = $AnimationPlayer +@onready var username: LineEdit = $ScrollContainer/Control/TextureRect/PaperMargin/Contents/NameEntry/LineEdit +@onready var sign_sound: AudioStreamPlayer = $Sign +@onready var sign_button: Button = $ScrollContainer/Control/TextureRect/PaperMargin/Contents/Signatures/EmployeeMargin/Sign/Signature +@onready var scroll: ScrollContainer = $ScrollContainer +@onready var select_uniform: HBoxContainer = $ScrollContainer/Control/TextureRect/PaperMargin/Contents/SelectUniform +@onready var skip_tutorial: CheckBox = $ScrollContainer/Control/TextureRect/PaperMargin/Contents/SelectExperience/CheckBox + +func _ready(): + anim.play("paper_slide") + var button_group := ButtonGroup.new() + for i in range(3): + var preview: HairstylePreview = preload("res://gui/menus/setup/hairstyle_preview.tscn").instantiate() + select_uniform.add_child(preview) + preview.setup(i, button_group) + preview.selected.connect(_character_selected) + if i < 2: + var spacer = Control.new() + spacer.size_flags_vertical = Control.SIZE_EXPAND + spacer.custom_minimum_size.x = 50 + select_uniform.add_child(spacer) + + # Enable msaa 2D for this scene + Global.get_viewport().msaa_2d = Viewport.MSAA_4X + + if Global.profile.username != "": username.text = Global.profile.username + + if TranslationServer.get_locale().begins_with("zh"): + $ScrollContainer/Control/TextureRect.rotation = 0 + increase_font_size(self) + + super() + $Back.visible = not is_instance_of(parent_menu, Entry) + +func increase_font_size(node: Node): + if node is RichTextLabel: + for oname in ["bold_italics_font_size", "italics_font_size", "normal_font_size", "mono_font_size", "bold_font_size"]: + node.add_theme_font_size_override(oname, node.get_theme_default_font_size() * 1.2) + for c in node.get_children(): increase_font_size(c) + +func _on_back_pressed() -> void: + exit() + +func _character_selected(style: Dictionary): + character_style = style + +func _process(delta): + var s = Input.get_axis("rotate_up", "rotate_down") + scroll.set_deferred("scroll_vertical", scroll.scroll_vertical + s * delta * SCROLL_SPEED) + + +func check(): + if username.text == "": return tr("c.error.empty_username") + if character_style == null: return tr("c.error.select_hairstyle") + return null + +func _on_sign_pressed(): + if check() != null: + var popup_data := MenuPopup.Data.new() + popup_data.text = check() + var accept_button := Button.new() + accept_button.text = tr("c.menu.accept") + popup_data.buttons = [accept_button] + await submenu("res://gui/menus/popup.tscn", popup_data) + return + + sign_button.disabled = true + + sign_sound.play() + await sign_sound.finished + anim.play_backwards("paper_slide") + await anim.animation_finished + + Global.set_profile("username", username.text) + Global.set_profile("character_style", character_style) + if skip_tutorial.button_pressed: + for k in Global.profile["hints"].keys(): + Global.set_hint(k, true) + Global.save_profile() + + Global.set_setting("gameplay.hints_started", skip_tutorial.button_pressed) + Global.set_setting("gameplay.tutorial_disabled", skip_tutorial.button_pressed) + Global.set_setting("gameplay.setup_completed", true) + Global.save_settings() + + Global.get_viewport().msaa_2d = Viewport.MSAA_DISABLED + + if not is_instance_of(parent_menu, Entry): exit() + else: replace_menu("res://gui/menu/main/main.tscn") diff --git a/client/gui/menus/setup/setup.gd.uid b/client/gui/menus/setup/setup.gd.uid new file mode 100644 index 00000000..c9c2be3c --- /dev/null +++ b/client/gui/menus/setup/setup.gd.uid @@ -0,0 +1 @@ +uid://dxn6ow6hiwhbf diff --git a/client/gui/menus/setup/setup.tscn b/client/gui/menus/setup/setup.tscn new file mode 100644 index 00000000..d0cce350 --- /dev/null +++ b/client/gui/menus/setup/setup.tscn @@ -0,0 +1,398 @@ +[gd_scene load_steps=15 format=3 uid="uid://ddl3efikvqp66"] + +[ext_resource type="Script" uid="uid://dxn6ow6hiwhbf" path="res://gui/menus/setup/setup.gd" id="1_mo46n"] +[ext_resource type="Theme" uid="uid://ci2qajdoa1an1" path="res://gui/resources/theme/paper.tres" id="1_yq0aa"] +[ext_resource type="Script" uid="uid://bd7bylb2t2m0" path="res://gui/components/touch_scroll_container.gd" id="2_4caf2"] +[ext_resource type="FontFile" uid="uid://bo4vh5xkpvrh1" path="res://gui/resources/fonts/font-sansita-swashed.woff2" id="3_2vg4d"] +[ext_resource type="AudioStream" uid="uid://do7ii5hx71p0m" path="res://gui/resources/sounds/page.ogg" id="5_xac6d"] +[ext_resource type="AudioStream" uid="uid://5b3noxjmasmu" path="res://gui/resources/sounds/sign.ogg" id="6_wf0gh"] + +[sub_resource type="Animation" id="Animation_m4a1a"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("ScrollContainer:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(0, 0)] +} + +[sub_resource type="Animation" id="Animation_s1to2"] +resource_name = "paper_slide" +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("ScrollContainer:position") +tracks/0/interp = 2 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 1), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(0, -1800), Vector2(0, 0)] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_wjgak"] +_data = { +&"RESET": SubResource("Animation_m4a1a"), +&"paper_slide": SubResource("Animation_s1to2") +} + +[sub_resource type="Gradient" id="Gradient_nsc3h"] +colors = PackedColorArray(0.941084, 0.949219, 0.918643, 1, 1, 1, 1, 1) + +[sub_resource type="FastNoiseLite" id="FastNoiseLite_amioi"] + +[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_bvvl7"] +color_ramp = SubResource("Gradient_nsc3h") +noise = SubResource("FastNoiseLite_amioi") + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_e7xn5"] +bg_color = Color(0.196078, 0.196078, 0.235294, 1) +corner_radius_top_left = 10 +corner_radius_top_right = 10 +corner_radius_bottom_right = 10 +corner_radius_bottom_left = 10 + +[sub_resource type="FontVariation" id="FontVariation_2cc7p"] +base_font = ExtResource("3_2vg4d") + +[node name="SetupMenu" type="Control"] +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +script = ExtResource("1_mo46n") +support_anim = null +auto_anim = null + +[node name="ColorRect" type="ColorRect" parent="."] +layout_mode = 2 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +color = Color(0.196078, 0.196078, 0.235294, 1) + +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +libraries = { +&"": SubResource("AnimationLibrary_wjgak") +} +speed_scale = 2.0 + +[node name="ScrollContainer" type="ScrollContainer" parent="."] +clip_contents = false +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +follow_focus = true +horizontal_scroll_mode = 0 +script = ExtResource("2_4caf2") + +[node name="Control" type="Control" parent="ScrollContainer"] +custom_minimum_size = Vector2(0, 1500) +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="TextureRect" type="TextureRect" parent="ScrollContainer/Control"] +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -400.0 +offset_top = -559.57 +offset_right = 400.0 +offset_bottom = 571.801 +grow_horizontal = 2 +grow_vertical = 2 +rotation = 0.0174533 +theme = ExtResource("1_yq0aa") +texture = SubResource("NoiseTexture2D_bvvl7") + +[node name="Hole1" type="Panel" parent="ScrollContainer/Control/TextureRect"] +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -365.0 +offset_top = -189.686 +offset_right = -345.0 +offset_bottom = -169.686 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_styles/panel = SubResource("StyleBoxFlat_e7xn5") + +[node name="Hole2" type="Panel" parent="ScrollContainer/Control/TextureRect"] +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -365.0 +offset_top = 130.314 +offset_right = -345.0 +offset_bottom = 150.314 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_styles/panel = SubResource("StyleBoxFlat_e7xn5") + +[node name="PaperMargin" type="MarginContainer" parent="ScrollContainer/Control/TextureRect"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="Contents" type="VBoxContainer" parent="ScrollContainer/Control/TextureRect/PaperMargin"] +layout_mode = 2 + +[node name="Title" type="Label" parent="ScrollContainer/Control/TextureRect/PaperMargin/Contents"] +layout_mode = 2 +size_flags_horizontal = 4 +theme_override_font_sizes/font_size = 30 +text = "c.setup.contract_title" + +[node name="Sep" type="HSeparator" parent="ScrollContainer/Control/TextureRect/PaperMargin/Contents"] +layout_mode = 2 + +[node name="Intro" type="RichTextLabel" parent="ScrollContainer/Control/TextureRect/PaperMargin/Contents"] +layout_mode = 2 +bbcode_enabled = true +text = "c.setup.contract_desc" +fit_content = true +scroll_active = false + +[node name="Name" type="RichTextLabel" parent="ScrollContainer/Control/TextureRect/PaperMargin/Contents"] +layout_mode = 2 +bbcode_enabled = true +text = "c.setup.name" +fit_content = true +scroll_active = false +text_direction = 3 + +[node name="NameEntry" type="HBoxContainer" parent="ScrollContainer/Control/TextureRect/PaperMargin/Contents"] +layout_mode = 2 +tooltip_text = "c.setup.name.desc" + +[node name="LineEdit" type="LineEdit" parent="ScrollContainer/Control/TextureRect/PaperMargin/Contents/NameEntry"] +custom_minimum_size = Vector2(300, 30) +layout_mode = 2 +max_length = 32 + +[node name="Control" type="Control" parent="ScrollContainer/Control/TextureRect/PaperMargin/Contents/NameEntry"] +layout_mode = 2 + +[node name="Position" type="RichTextLabel" parent="ScrollContainer/Control/TextureRect/PaperMargin/Contents"] +layout_mode = 2 +bbcode_enabled = true +text = "c.setup.position" +fit_content = true +scroll_active = false +text_direction = 3 + +[node name="PositionEntry" type="HBoxContainer" parent="ScrollContainer/Control/TextureRect/PaperMargin/Contents"] +layout_mode = 2 + +[node name="LineEdit" type="LineEdit" parent="ScrollContainer/Control/TextureRect/PaperMargin/Contents/PositionEntry"] +custom_minimum_size = Vector2(300, 30) +layout_mode = 2 +theme_override_colors/font_uneditable_color = Color(0.458824, 0, 0, 1) +theme_override_colors/font_color = Color(0.458824, 0, 0, 1) +editable = false + +[node name="LineEdit2" type="Label" parent="ScrollContainer/Control/TextureRect/PaperMargin/Contents/PositionEntry/LineEdit"] +custom_minimum_size = Vector2(300, 30) +layout_mode = 1 +offset_left = 9.97753 +offset_top = 3.2088 +offset_right = 309.978 +offset_bottom = 33.2088 +theme_override_colors/font_color = Color(0.458824, 0, 0, 1) +theme_override_fonts/font = ExtResource("3_2vg4d") +text = "c.setup.position.value" + +[node name="Uniform" type="RichTextLabel" parent="ScrollContainer/Control/TextureRect/PaperMargin/Contents"] +layout_mode = 2 +bbcode_enabled = true +text = "c.setup.uniform" +fit_content = true +scroll_active = false +text_direction = 3 + +[node name="SelectUniform" type="HBoxContainer" parent="ScrollContainer/Control/TextureRect/PaperMargin/Contents"] +layout_mode = 2 +alignment = 1 + +[node name="Experience" type="RichTextLabel" parent="ScrollContainer/Control/TextureRect/PaperMargin/Contents"] +layout_mode = 2 +bbcode_enabled = true +text = "c.setup.experience" +fit_content = true +scroll_active = false +text_direction = 3 + +[node name="SelectExperience" type="HBoxContainer" parent="ScrollContainer/Control/TextureRect/PaperMargin/Contents"] +layout_mode = 2 +alignment = 1 + +[node name="CheckBox" type="CheckBox" parent="ScrollContainer/Control/TextureRect/PaperMargin/Contents/SelectExperience"] +layout_mode = 2 +text = "c.setup.experience.skip" +text_direction = 3 + +[node name="Duties" type="RichTextLabel" parent="ScrollContainer/Control/TextureRect/PaperMargin/Contents"] +layout_mode = 2 +bbcode_enabled = true +text = "c.setup.duties" +fit_content = true +scroll_active = false +text_direction = 3 + +[node name="Terms" type="RichTextLabel" parent="ScrollContainer/Control/TextureRect/PaperMargin/Contents"] +layout_mode = 2 +bbcode_enabled = true +text = "c.setup.additional_terms" +fit_content = true +scroll_active = false +text_direction = 3 + +[node name="Compensation" type="RichTextLabel" parent="ScrollContainer/Control/TextureRect/PaperMargin/Contents"] +layout_mode = 2 +bbcode_enabled = true +text = "c.setup.compensation" +fit_content = true +scroll_active = false +text_direction = 3 + +[node name="CompensationEntry" type="HBoxContainer" parent="ScrollContainer/Control/TextureRect/PaperMargin/Contents"] +layout_mode = 2 + +[node name="Spacer" type="Control" parent="ScrollContainer/Control/TextureRect/PaperMargin/Contents/CompensationEntry"] +custom_minimum_size = Vector2(15.045, 0) +layout_mode = 2 + +[node name="Text1" type="RichTextLabel" parent="ScrollContainer/Control/TextureRect/PaperMargin/Contents/CompensationEntry"] +custom_minimum_size = Vector2(100.08, 0) +layout_mode = 2 +bbcode_enabled = true +text = "c.setup.compensation.salary.prefix" +fit_content = true +scroll_active = false +autowrap_mode = 0 + +[node name="LineEdit" type="LineEdit" parent="ScrollContainer/Control/TextureRect/PaperMargin/Contents/CompensationEntry"] +custom_minimum_size = Vector2(50, 30) +layout_mode = 2 +theme_override_colors/font_uneditable_color = Color(0.478431, 0, 0, 1) +editable = false + +[node name="LineEdit2" type="Label" parent="ScrollContainer/Control/TextureRect/PaperMargin/Contents/CompensationEntry/LineEdit"] +custom_minimum_size = Vector2(50, 30) +layout_mode = 1 +offset_left = 9.55965 +offset_top = 4.09178 +offset_right = 79.5597 +offset_bottom = 34.0918 +theme_override_colors/font_color = Color(0.478431, 0, 0, 1) +theme_override_fonts/font = ExtResource("3_2vg4d") +text = "c.setup.compensation.salary" + +[node name="Text2" type="RichTextLabel" parent="ScrollContainer/Control/TextureRect/PaperMargin/Contents/CompensationEntry"] +custom_minimum_size = Vector2(100.08, 0) +layout_mode = 2 +bbcode_enabled = true +text = "c.setup.compensation.salary.suffix" +scroll_active = false + +[node name="Spacer" type="Control" parent="ScrollContainer/Control/TextureRect/PaperMargin/Contents"] +custom_minimum_size = Vector2(0, 200) +layout_mode = 2 + +[node name="Signatures" type="HBoxContainer" parent="ScrollContainer/Control/TextureRect/PaperMargin/Contents"] +layout_mode = 2 + +[node name="EmployerMargin" type="MarginContainer" parent="ScrollContainer/Control/TextureRect/PaperMargin/Contents/Signatures"] +layout_mode = 2 + +[node name="Sign" type="VBoxContainer" parent="ScrollContainer/Control/TextureRect/PaperMargin/Contents/Signatures/EmployerMargin"] +layout_mode = 2 + +[node name="Desc" type="RichTextLabel" parent="ScrollContainer/Control/TextureRect/PaperMargin/Contents/Signatures/EmployerMargin/Sign"] +layout_mode = 2 +theme_override_font_sizes/normal_font_size = 15 +bbcode_enabled = true +text = "c.setup.frank_signature.desc" +fit_content = true +scroll_active = false +text_direction = 3 + +[node name="Signature" type="Label" parent="ScrollContainer/Control/TextureRect/PaperMargin/Contents/Signatures/EmployerMargin/Sign"] +custom_minimum_size = Vector2(200, 80) +layout_mode = 2 +theme_override_colors/font_color = Color(0.415686, 0.0253044, 0.135441, 1) +theme_override_fonts/font = SubResource("FontVariation_2cc7p") +theme_override_font_sizes/font_size = 31 +text = "c.setup.frank_signature" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="Underline" type="HSeparator" parent="ScrollContainer/Control/TextureRect/PaperMargin/Contents/Signatures/EmployerMargin/Sign"] +layout_mode = 2 + +[node name="EmployeeMargin" type="MarginContainer" parent="ScrollContainer/Control/TextureRect/PaperMargin/Contents/Signatures"] +layout_mode = 2 + +[node name="Sign" type="VBoxContainer" parent="ScrollContainer/Control/TextureRect/PaperMargin/Contents/Signatures/EmployeeMargin"] +layout_mode = 2 + +[node name="Desc" type="RichTextLabel" parent="ScrollContainer/Control/TextureRect/PaperMargin/Contents/Signatures/EmployeeMargin/Sign"] +layout_mode = 2 +theme_override_font_sizes/normal_font_size = 15 +bbcode_enabled = true +text = "c.setup.user_signature.desc" +fit_content = true +scroll_active = false +text_direction = 3 + +[node name="Signature" type="Button" parent="ScrollContainer/Control/TextureRect/PaperMargin/Contents/Signatures/EmployeeMargin/Sign" groups=["no_click_sound"]] +custom_minimum_size = Vector2(200, 80) +layout_mode = 2 +text = "c.setup.user_signature" + +[node name="Underline" type="HSeparator" parent="ScrollContainer/Control/TextureRect/PaperMargin/Contents/Signatures/EmployeeMargin/Sign"] +layout_mode = 2 + +[node name="Back" type="Button" parent="."] +layout_mode = 1 +offset_right = 106.0 +offset_bottom = 31.0 +text = "c.menu.back" + +[node name="Page" type="AudioStreamPlayer" parent="."] +stream = ExtResource("5_xac6d") +volume_db = -16.0 +autoplay = true + +[node name="Sign" type="AudioStreamPlayer" parent="."] +stream = ExtResource("6_wf0gh") +volume_db = -16.0 + +[connection signal="pressed" from="ScrollContainer/Control/TextureRect/PaperMargin/Contents/Signatures/EmployeeMargin/Sign/Signature" to="." method="_on_sign_pressed"] +[connection signal="pressed" from="Back" to="." method="_on_back_pressed"] |