Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UI Shit #5

Merged
merged 3 commits into from
Sep 1, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions scenes/components/copy_category.tscn
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
[gd_scene format=3 uid="uid://cxdrsvvm35br2"]

[node name="CopyCategory" type="HBoxContainer"]
layout_direction = 3
offset_left = 20.0
offset_right = 197.0
offset_bottom = 49.0
theme_override_constants/separation = 5

[node name="MarginContainer" type="MarginContainer" parent="."]
custom_minimum_size = Vector2(10, 0)
layout_mode = 2

[node name="Amount" type="SpinBox" parent="."]
layout_mode = 2

[node name="Name" type="Label" parent="."]
layout_direction = 2
layout_mode = 2
text = "adwawdawd"
max_lines_visible = 1
28 changes: 25 additions & 3 deletions scenes/login.tscn
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
[gd_scene load_steps=3 format=3 uid="uid://2ysj36v7ruon"]
[gd_scene load_steps=4 format=3 uid="uid://2ysj36v7ruon"]

[ext_resource type="Script" path="res://scripts/login.gd" id="1_4rhoe"]
[ext_resource type="LabelSettings" uid="uid://jfhijl2ucmeq" path="res://assets/label_settings.tres" id="2_hmd01"]

[sub_resource type="LabelSettings" id="LabelSettings_cvayw"]
font_size = 20
font_color = Color(0.984314, 0.443137, 0.345098, 1)

[node name="Login" type="CanvasLayer"]
script = ExtResource("1_4rhoe")
scene_after_login = "menu"
Expand Down Expand Up @@ -47,7 +51,7 @@ grow_horizontal = 2
grow_vertical = 2
focus_next = NodePath("../Password")
theme_override_font_sizes/font_size = 30
placeholder_text = "EMail oder Benutzername"
placeholder_text = "E-Mail oder Benutzername"
alignment = 1
expand_to_text_length = true
context_menu_enabled = false
Expand Down Expand Up @@ -93,7 +97,25 @@ grow_vertical = 0
focus_previous = NodePath("../Password")
theme_override_font_sizes/font_size = 40
disabled = true
text = "Anmelden ->"
text = "Login"

[node name="Error" type="Label" parent="LoginBox"]
visible = false
layout_mode = 1
anchors_preset = 7
anchor_left = 0.5
anchor_top = 1.0
anchor_right = 0.5
anchor_bottom = 1.0
offset_left = -170.0
offset_top = -108.0
offset_right = 170.0
offset_bottom = -85.0
grow_horizontal = 2
grow_vertical = 0
text = "E-Mail/Benutzername oder Passwort sind falsch!"
label_settings = SubResource("LabelSettings_cvayw")
horizontal_alignment = 1

[connection signal="text_changed" from="LoginBox/EMail" to="." method="on_email_text_changed"]
[connection signal="text_changed" from="LoginBox/Password" to="." method="on_password_text_changed"]
Expand Down
246 changes: 198 additions & 48 deletions scenes/menu.tscn
Original file line number Diff line number Diff line change
@@ -1,76 +1,226 @@
[gd_scene load_steps=3 format=3 uid="uid://yyc1l3e78qgl"]
[gd_scene load_steps=10 format=3 uid="uid://yyc1l3e78qgl"]

[ext_resource type="Script" path="res://scripts/menu.gd" id="1_f4qtc"]

[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_r2tkh"]
bg_color = Color(0.239216, 0.239216, 0.239216, 1)
border_width_left = 8
border_width_top = 8
border_width_right = 8
border_width_bottom = 8
border_color = Color(0, 0, 0, 1)

[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_e6ve8"]
bg_color = Color(0.239216, 0.239216, 0.239216, 1)
border_color = Color(0, 0, 0, 1)

[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_sdl70"]
bg_color = Color(0.239216, 0.239216, 0.239216, 1)
border_width_left = 4
border_width_top = 4
border_width_right = 4
border_width_bottom = 4
border_color = Color(0, 0, 0, 1)

[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_yhbp7"]
bg_color = Color(0.192157, 0.192157, 0.192157, 1)
border_width_left = 8
border_width_top = 8
border_width_right = 8
border_width_bottom = 8
border_color = Color(0, 0, 0, 1)

[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_r78im"]
bg_color = Color(0.0980392, 0.0980392, 0.0980392, 1)
border_width_left = 4
border_width_top = 4
border_width_right = 4
border_width_bottom = 4
border_color = Color(0, 0, 0, 1)

[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_v1l70"]
bg_color = Color(0.137255, 0.137255, 0.137255, 1)
border_width_left = 4
border_width_top = 4
border_width_right = 4
border_width_bottom = 4
border_color = Color(0, 0, 0, 1)

[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_eb82c"]
bg_color = Color(0.137255, 0.137255, 0.137255, 1)

[sub_resource type="Theme" id="Theme_31w7n"]
default_font_size = 70

[node name="Menu" type="CanvasLayer"]
script = ExtResource("1_f4qtc")

[node name="Start" type="Button" parent="."]
anchors_preset = 3
anchor_left = 1.0
anchor_top = 1.0
[node name="BG" type="Sprite2D" parent="."]

[node name="Buttons" type="Control" parent="."]
layout_mode = 3
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
grow_horizontal = 2
grow_vertical = 2

[node name="Play" type="Button" parent="Buttons"]
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -229.5
offset_top = -214.0
offset_right = 229.5
offset_bottom = -86.0
grow_horizontal = 2
grow_vertical = 2
theme_override_font_sizes/font_size = 60
theme_override_styles/normal = SubResource("StyleBoxFlat_r2tkh")
theme_override_styles/hover = SubResource("StyleBoxFlat_r2tkh")
theme_override_styles/pressed = SubResource("StyleBoxFlat_e6ve8")
text = "Play"

[node name="Options" type="Button" parent="Buttons"]
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -229.5
offset_top = -64.0
offset_right = 229.5
offset_bottom = 64.0
grow_horizontal = 2
grow_vertical = 2
theme_override_font_sizes/font_size = 60
theme_override_styles/normal = SubResource("StyleBoxFlat_r2tkh")
theme_override_styles/hover = SubResource("StyleBoxFlat_r2tkh")
theme_override_styles/pressed = SubResource("StyleBoxFlat_e6ve8")
text = "Options"

[node name="Quit" type="Button" parent="Buttons"]
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -229.5
offset_top = 86.0
offset_right = 229.5
offset_bottom = 214.0
grow_horizontal = 2
grow_vertical = 2
theme_override_font_sizes/font_size = 60
theme_override_styles/normal = SubResource("StyleBoxFlat_r2tkh")
theme_override_styles/hover = SubResource("StyleBoxFlat_r2tkh")
theme_override_styles/pressed = SubResource("StyleBoxFlat_e6ve8")
theme_override_styles/focus = SubResource("StyleBoxFlat_sdl70")
text = "Quit Game"

[node name="RoundCreation" type="CanvasLayer" parent="."]
visible = false

[node name="ColorRect" type="ColorRect" parent="RoundCreation"]
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = -360.0
offset_top = -140.0
offset_right = -60.0
offset_bottom = -60.0
grow_horizontal = 0
grow_vertical = 0
theme_override_font_sizes/font_size = 40
text = "Spiel starten"
grow_horizontal = 2
grow_vertical = 2
color = Color(0.137255, 0.137255, 0.137255, 0.431373)

[node name="ModeSelect" type="OptionButton" parent="."]
offset_left = 56.0
offset_top = 56.0
offset_right = 101.0
offset_bottom = 76.0
theme_override_font_sizes/font_size = 40
metadata/_edit_use_anchors_ = true
[node name="CreationMenu" type="Panel" parent="RoundCreation"]
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -258.0
offset_top = -454.5
offset_right = 258.0
offset_bottom = 454.5
grow_horizontal = 2
grow_vertical = 2
theme_override_styles/panel = SubResource("StyleBoxFlat_yhbp7")

[node name="CopyCategory" type="HBoxContainer" parent="."]
visible = false
layout_direction = 3
offset_right = 100.0
offset_bottom = 31.0
[node name="Cancel" type="Button" parent="RoundCreation/CreationMenu"]
layout_mode = 0
offset_left = 45.0
offset_top = 821.0
offset_right = 233.0
offset_bottom = 896.0
theme_override_font_sizes/font_size = 30
theme_override_styles/normal = SubResource("StyleBoxFlat_r78im")
theme_override_styles/hover = SubResource("StyleBoxFlat_v1l70")
theme_override_styles/pressed = SubResource("StyleBoxFlat_eb82c")
text = "Cancel"

[node name="Amount" type="SpinBox" parent="CopyCategory"]
layout_mode = 2
[node name="Start" type="Button" parent="RoundCreation/CreationMenu"]
layout_mode = 0
offset_left = 286.0
offset_top = 821.0
offset_right = 474.0
offset_bottom = 896.0
theme_override_font_sizes/font_size = 30
theme_override_styles/normal = SubResource("StyleBoxFlat_r78im")
theme_override_styles/hover = SubResource("StyleBoxFlat_v1l70")
theme_override_styles/pressed = SubResource("StyleBoxFlat_eb82c")
text = "Start Game"

[node name="Name" type="Label" parent="CopyCategory"]
layout_direction = 2
layout_mode = 2
max_lines_visible = 1
[node name="ModeSelect" type="OptionButton" parent="RoundCreation/CreationMenu"]
layout_mode = 1
offset_left = 43.0
offset_top = 44.0
offset_right = 299.0
offset_bottom = 114.0
theme_override_font_sizes/font_size = 40

[node name="CategoryBox" type="ScrollContainer" parent="."]
[node name="CategoryBox" type="ScrollContainer" parent="RoundCreation/CreationMenu"]
layout_direction = 2
anchors_preset = 1
anchor_left = 1.0
anchor_right = 1.0
offset_left = -154.0
offset_top = 48.0
offset_right = -48.0
offset_bottom = 362.0
grow_horizontal = 0
layout_mode = 1
anchors_preset = 4
anchor_top = 0.5
anchor_bottom = 0.5
offset_left = 126.0
offset_top = -182.5
offset_right = 269.0
offset_bottom = 310.5
grow_vertical = 2
follow_focus = true
horizontal_scroll_mode = 0

[node name="Categories" type="VBoxContainer" parent="CategoryBox"]
[node name="Categories" type="VBoxContainer" parent="RoundCreation/CreationMenu/CategoryBox"]
layout_direction = 3
layout_mode = 2
alignment = 2
theme_override_constants/separation = 3

[node name="RoundDuration" type="SpinBox" parent="."]
offset_left = 54.0
offset_top = 190.0
offset_right = 326.225
offset_bottom = 278.0
[node name="RoundDuration" type="SpinBox" parent="RoundCreation/CreationMenu"]
layout_mode = 1
anchors_preset = 6
anchor_left = 1.0
anchor_top = 0.5
anchor_right = 1.0
anchor_bottom = 0.5
offset_left = -472.0
offset_top = -304.5
offset_right = -199.775
offset_bottom = -216.5
grow_horizontal = 0
grow_vertical = 2
theme = SubResource("Theme_31w7n")
min_value = 5.0
max_value = 90.0
value = 30.0
suffix = "s"

[connection signal="pressed" from="Start" to="." method="on_btn_start_pressed"]
[connection signal="pressed" from="Buttons/Play" to="." method="on_play_pressed"]
[connection signal="pressed" from="Buttons/Quit" to="." method="on_quit_pressed"]
[connection signal="pressed" from="RoundCreation/CreationMenu/Cancel" to="." method="on_cancel_pressed"]
[connection signal="pressed" from="RoundCreation/CreationMenu/Start" to="." method="on_btn_start_pressed"]
7 changes: 7 additions & 0 deletions scripts/login.gd
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@ extends CanvasLayer

## on_email_text_changed is called when the user changed the text in the email input field. It is
## used to toggle the 'disabled' property of the Login button.
func _process(delta):
if Input.is_action_just_pressed("ui_accept") && !$LoginBox/Login.disabled:
on_login_button_pressed()

func on_email_text_changed(email_text: String):
if email_text == ""||$LoginBox/Password.text == "":
$LoginBox/Login.disabled = true
Expand All @@ -23,11 +27,14 @@ func on_login_button_pressed():
$LoginBox/Login.disabled = true
var auth: String = Marshalls.utf8_to_base64("%s:%s" % [$LoginBox/EMail.text, $LoginBox/Password.text])
api.login(auth, on_login_reponse)
DisplayServer.cursor_set_shape(DisplayServer.CURSOR_BUSY)

## on_login_reponse is called as when the login api call completed.
func on_login_reponse(success: bool, _username: String=""):
DisplayServer.cursor_set_shape(DisplayServer.CURSOR_ARROW)
if !success:
print("login failed!")
$LoginBox/Error.show()
$LoginBox/Login.disabled = false
return

Expand Down
Loading
Loading