Skip to content

Commit

Permalink
game creation & login polish
Browse files Browse the repository at this point in the history
  • Loading branch information
Niraculix committed Sep 1, 2024
1 parent bc15618 commit f16ae41
Show file tree
Hide file tree
Showing 6 changed files with 143 additions and 83 deletions.
24 changes: 0 additions & 24 deletions scenes/Objects/copy_category.tscn

This file was deleted.

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
134 changes: 84 additions & 50 deletions scenes/menu.tscn
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
[gd_scene load_steps=7 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"]

Expand Down Expand Up @@ -30,6 +30,25 @@ 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

Expand All @@ -38,15 +57,26 @@ script = ExtResource("1_f4qtc")

[node name="BG" type="Sprite2D" parent="."]

[node name="Play" type="Button" 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
offset_left = -228.0
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 = 231.0
offset_right = 229.5
offset_bottom = -86.0
grow_horizontal = 2
grow_vertical = 2
Expand All @@ -56,15 +86,16 @@ theme_override_styles/hover = SubResource("StyleBoxFlat_r2tkh")
theme_override_styles/pressed = SubResource("StyleBoxFlat_e6ve8")
text = "Play"

[node name="Options" type="Button" parent="."]
[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.0
offset_left = -229.5
offset_top = -64.0
offset_right = 230.0
offset_right = 229.5
offset_bottom = 64.0
grow_horizontal = 2
grow_vertical = 2
Expand All @@ -74,16 +105,17 @@ theme_override_styles/hover = SubResource("StyleBoxFlat_r2tkh")
theme_override_styles/pressed = SubResource("StyleBoxFlat_e6ve8")
text = "Options"

[node name="Quit" type="Button" parent="."]
[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 = -227.0
offset_top = 82.0
offset_right = 232.0
offset_bottom = 210.0
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
Expand All @@ -94,53 +126,54 @@ 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"]
offset_left = -360.0
offset_top = -210.0
offset_right = 2263.0
offset_bottom = 1201.0
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
color = Color(0.137255, 0.137255, 0.137255, 0.431373)

[node name="CreationMenu" type="Panel" parent="RoundCreation"]
anchors_preset = 6
anchor_left = 1.0
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 1.0
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -602.0
offset_top = -436.0
offset_right = -86.0
offset_bottom = 473.0
grow_horizontal = 0
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="Start" type="Button" parent="RoundCreation/CreationMenu"]
layout_mode = 1
anchors_preset = 7
anchor_left = 0.5
anchor_top = 1.0
anchor_right = 0.5
anchor_bottom = 1.0
offset_left = 1.0
offset_top = -85.0
offset_right = 217.0
offset_bottom = -10.0
grow_horizontal = 2
grow_vertical = 0
theme_override_font_sizes/font_size = 30
text = "Start Game"

[node name="Cancel" type="Button" parent="RoundCreation/CreationMenu"]
layout_mode = 0
offset_left = 45.0
offset_top = 825.0
offset_top = 821.0
offset_right = 233.0
offset_bottom = 900.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="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="ModeSelect" type="OptionButton" parent="RoundCreation/CreationMenu"]
layout_mode = 1
offset_left = 43.0
Expand All @@ -155,17 +188,18 @@ layout_mode = 1
anchors_preset = 4
anchor_top = 0.5
anchor_bottom = 0.5
offset_left = 47.0
offset_top = -186.5
offset_right = 331.0
offset_bottom = 306.499
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="RoundCreation/CreationMenu/CategoryBox"]
layout_direction = 3
layout_mode = 2
alignment = 2
theme_override_constants/separation = 3

[node name="RoundDuration" type="SpinBox" parent="RoundCreation/CreationMenu"]
layout_mode = 1
Expand All @@ -186,7 +220,7 @@ max_value = 90.0
value = 30.0
suffix = "s"

[connection signal="pressed" from="Play" to="." method="on_play_pressed"]
[connection signal="pressed" from="Quit" to="." method="on_quit_pressed"]
[connection signal="pressed" from="RoundCreation/CreationMenu/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
12 changes: 6 additions & 6 deletions scripts/menu.gd
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ class_name Menu extends CanvasLayer

## Time for each round in seconds
var round_duration: int
const CATEGORY = preload("res://scenes/components/copy_category.tscn")

## ready is called when the node enters the scene tree for the first time.
func _ready():
Expand All @@ -20,11 +21,10 @@ func on_category_response(success: bool, categories: Dictionary={}):

## update_category_list updates the category selection list with the given dictionary (mapping String to int).
func update_category_list(categories: Dictionary):
const copy_category = preload("res://scenes/Objects/copy_category.tscn")
for category in categories:
var c = copy_category.instantiate()
c.get_child(0).max_value = categories[category]
c.get_child(1).text = category
var c = CATEGORY.instantiate()
c.get_child(1).max_value = categories[category]
c.get_child(2).text = category
c.show()
$RoundCreation/CreationMenu/CategoryBox/Categories.add_child(c)

Expand All @@ -35,10 +35,10 @@ func on_btn_start_pressed():
round_duration = $RoundCreation/CreationMenu/RoundDuration.value
var categories: Dictionary = {}
for category: HBoxContainer in $RoundCreation/CreationMenu/CategoryBox/Categories.get_children():
var amount: int = category.get_child(0).value
var amount: int = category.get_child(1).value
if amount == 0:
continue
categories[category.get_child(1).text] = amount
categories[category.get_child(2).text] = amount

var game_data: Dictionary = {}
game_data["categories"] = categories
Expand Down

0 comments on commit f16ae41

Please sign in to comment.