diff options
| author | tpart <tpart120@proton.me> | 2024-07-14 12:05:03 +0200 | 
|---|---|---|
| committer | tpart <tpart120@proton.me> | 2024-07-14 12:05:11 +0200 | 
| commit | f18092fefe7f113548fe444a250df825f1b21255 (patch) | |
| tree | acd892fe94eb1cff1f654c4b08fc7c929b6c300e /client/menu | |
| parent | e10e4aec0cb85ead7d2c6c5c9e5c77257c71155e (diff) | |
| download | hurrycurry-f18092fefe7f113548fe444a250df825f1b21255.tar hurrycurry-f18092fefe7f113548fe444a250df825f1b21255.tar.bz2 hurrycurry-f18092fefe7f113548fe444a250df825f1b21255.tar.zst  | |
Add hairstyle preview to setup menu
Diffstat (limited to 'client/menu')
| -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  |