diff options
-rw-r--r-- | client/menu/setup.gd | 17 | ||||
-rw-r--r-- | client/menu/setup.tscn | 47 |
2 files changed, 53 insertions, 11 deletions
diff --git a/client/menu/setup.gd b/client/menu/setup.gd index 4a7dfcfb..279c54ff 100644 --- a/client/menu/setup.gd +++ b/client/menu/setup.gd @@ -18,27 +18,32 @@ extends Menu const SCROLL_SPEED := 500. +var character := -1 + @onready var anim: AnimationPlayer = $AnimationPlayer @onready var username: LineEdit = $ScrollContainer/Control/TextureRect/PaperMargin/Contents/NameEntry/LineEdit -@onready var character_opts: Container = $ScrollContainer/Control/TextureRect/PaperMargin/Contents/UniformEntry +@onready var character_opts: Container = $ScrollContainer/Control/TextureRect/PaperMargin/Contents/SelectUniform/UniformEntry +@onready var character_model: Character = $ScrollContainer/Control/TextureRect/PaperMargin/Contents/SelectUniform/HairViewport/Node3D/Character @onready var sign: AudioStreamPlayer = $Sign @onready var sign_button: Button = $ScrollContainer/Control/TextureRect/PaperMargin/Contents/Signatures/EmployeeMargin/Sign/Signature @onready var scroll: ScrollContainer = $ScrollContainer func _ready(): anim.play("paper_slide") + for i in character_opts.get_children().size(): + var box: CheckBox = character_opts.get_child(i) + box.pressed.connect(_character_selected.bind(i)) super() +func _character_selected(idx: int): + character = idx + character_model.select_hairstyle(character) + 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 _on_sign_pressed(): - var character = -1 - for i in character_opts.get_children().size(): - if character_opts.get_children()[i].button_pressed: - character = i - if username.text == "": OS.alert("Name field cannot be empty."); return if character == -1: OS.alert("Hairstyle needs to be selected."); return diff --git a/client/menu/setup.tscn b/client/menu/setup.tscn index bb05c69b..a78e666b 100644 --- a/client/menu/setup.tscn +++ b/client/menu/setup.tscn @@ -1,8 +1,9 @@ -[gd_scene load_steps=16 format=3 uid="uid://ddl3efikvqp66"] +[gd_scene load_steps=18 format=3 uid="uid://ddl3efikvqp66"] [ext_resource type="Script" path="res://menu/setup.gd" id="1_mo46n"] [ext_resource type="Theme" uid="uid://ci2qajdoa1an1" path="res://menu/theme/paper.tres" id="1_yq0aa"] [ext_resource type="FontFile" uid="uid://bo4vh5xkpvrh1" path="res://menu/theme/font-sansita-swashed.woff2" id="3_2vg4d"] +[ext_resource type="PackedScene" uid="uid://b3hhir2fvnunu" path="res://player/character/character.tscn" id="3_871k7"] [ext_resource type="PackedScene" uid="uid://bg2d78ycorcqk" path="res://menu/scene_transition.tscn" id="4_u444t"] [ext_resource type="AudioStream" uid="uid://do7ii5hx71p0m" path="res://menu/sounds/page.ogg" id="5_xac6d"] [ext_resource type="AudioStream" uid="uid://5b3noxjmasmu" path="res://menu/sounds/sign.ogg" id="6_wf0gh"] @@ -61,6 +62,9 @@ corner_radius_bottom_left = 10 [sub_resource type="ButtonGroup" id="ButtonGroup_8p5im"] +[sub_resource type="ViewportTexture" id="ViewportTexture_euy7w"] +viewport_path = NodePath("ScrollContainer/Control/TextureRect/PaperMargin/Contents/SelectUniform/HairViewport") + [sub_resource type="FontVariation" id="FontVariation_2cc7p"] base_font = ExtResource("3_2vg4d") @@ -225,24 +229,57 @@ text = "3. [b]Working Uniform.[/b] You must always have one of the following hai fit_content = true scroll_active = false -[node name="UniformEntry" type="VBoxContainer" parent="ScrollContainer/Control/TextureRect/PaperMargin/Contents"] +[node name="SelectUniform" type="HBoxContainer" parent="ScrollContainer/Control/TextureRect/PaperMargin/Contents"] +layout_mode = 2 + +[node name="UniformEntry" type="VBoxContainer" parent="ScrollContainer/Control/TextureRect/PaperMargin/Contents/SelectUniform"] layout_mode = 2 -[node name="Style1" type="CheckBox" parent="ScrollContainer/Control/TextureRect/PaperMargin/Contents/UniformEntry"] +[node name="Style1" type="CheckBox" parent="ScrollContainer/Control/TextureRect/PaperMargin/Contents/SelectUniform/UniformEntry"] layout_mode = 2 button_group = SubResource("ButtonGroup_8p5im") text = "Hairstyle 1" -[node name="Style2" type="CheckBox" parent="ScrollContainer/Control/TextureRect/PaperMargin/Contents/UniformEntry"] +[node name="Style2" type="CheckBox" parent="ScrollContainer/Control/TextureRect/PaperMargin/Contents/SelectUniform/UniformEntry"] layout_mode = 2 button_group = SubResource("ButtonGroup_8p5im") text = "Hairstyle 2" -[node name="Style3" type="CheckBox" parent="ScrollContainer/Control/TextureRect/PaperMargin/Contents/UniformEntry"] +[node name="Style3" type="CheckBox" parent="ScrollContainer/Control/TextureRect/PaperMargin/Contents/SelectUniform/UniformEntry"] layout_mode = 2 button_group = SubResource("ButtonGroup_8p5im") text = "Hairstyle 3" +[node name="Preview" type="TextureRect" parent="ScrollContainer/Control/TextureRect/PaperMargin/Contents/SelectUniform"] +layout_mode = 2 +texture = SubResource("ViewportTexture_euy7w") + +[node name="HairViewport" type="SubViewport" parent="ScrollContainer/Control/TextureRect/PaperMargin/Contents/SelectUniform"] +transparent_bg = true +msaa_3d = 1 +size = Vector2i(300, 128) + +[node name="Node3D" type="Node3D" parent="ScrollContainer/Control/TextureRect/PaperMargin/Contents/SelectUniform/HairViewport"] + +[node name="Camera3D" type="Camera3D" parent="ScrollContainer/Control/TextureRect/PaperMargin/Contents/SelectUniform/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="ScrollContainer/Control/TextureRect/PaperMargin/Contents/SelectUniform/HairViewport/Node3D" instance=ExtResource("3_871k7")] + +[node name="SpotLight3D" type="SpotLight3D" parent="ScrollContainer/Control/TextureRect/PaperMargin/Contents/SelectUniform/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="ScrollContainer/Control/TextureRect/PaperMargin/Contents/SelectUniform/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="ScrollContainer/Control/TextureRect/PaperMargin/Contents/SelectUniform/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 + [node name="Duties" type="RichTextLabel" parent="ScrollContainer/Control/TextureRect/PaperMargin/Contents"] layout_mode = 2 bbcode_enabled = true |