aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--client/menu/setup.gd17
-rw-r--r--client/menu/setup.tscn47
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