diff options
Diffstat (limited to 'client/menu/setup.gd')
-rw-r--r-- | client/menu/setup.gd | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/client/menu/setup.gd b/client/menu/setup.gd new file mode 100644 index 00000000..c5080920 --- /dev/null +++ b/client/menu/setup.gd @@ -0,0 +1,49 @@ +# Undercooked - a game about cooking +# Copyright 2024 metamuffin +# +# 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 Control + +@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 sign: AudioStreamPlayer = $Sign +@onready var sign_button: Button = $ScrollContainer/Control/TextureRect/PaperMargin/Contents/Signatures/EmployeeMargin/Sign/Signature + +func _ready(): + anim.play("paper_slide") + +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 + + sign_button.disabled = true + + sign.play() + await sign.finished + anim.play_backwards("paper_slide") + await anim.animation_finished + + Global.profile["username"] = username.text + Global.profile["character"] = character + + Global.set_setting("setup_complete", true) + Global.save_profile() + Global.save_settings() + $SceneTransition.transition_to("res://menu/menu_manager.tscn") |