Added login form & auth convience features
This commit is contained in:
parent
089013e985
commit
f5a542b981
@ -1,6 +1,6 @@
|
|||||||
[gd_scene load_steps=3 format=2]
|
[gd_scene load_steps=3 format=2]
|
||||||
|
|
||||||
[ext_resource path="res://scenes/AuthScene.gd" type="Script" id=1]
|
[ext_resource path="res://scripts/menus/login_form.gd" type="Script" id=1]
|
||||||
[ext_resource path="res://scripts/menus/signup_form.gd" type="Script" id=2]
|
[ext_resource path="res://scripts/menus/signup_form.gd" type="Script" id=2]
|
||||||
|
|
||||||
[node name="AuthScene" type="Control"]
|
[node name="AuthScene" type="Control"]
|
||||||
@ -10,6 +10,10 @@ script = ExtResource( 1 )
|
|||||||
__meta__ = {
|
__meta__ = {
|
||||||
"_edit_use_anchors_": false
|
"_edit_use_anchors_": false
|
||||||
}
|
}
|
||||||
|
usernamePath = NodePath("UsernameEdit")
|
||||||
|
passwordPath = NodePath("PasswordEdit")
|
||||||
|
buttonPath = NodePath("LoginButton")
|
||||||
|
errorPath = NodePath("ErrorLabel")
|
||||||
|
|
||||||
[node name="SignupDialog" type="WindowDialog" parent="."]
|
[node name="SignupDialog" type="WindowDialog" parent="."]
|
||||||
anchor_left = 0.5
|
anchor_left = 0.5
|
||||||
@ -142,7 +146,101 @@ __meta__ = {
|
|||||||
"_edit_use_anchors_": false
|
"_edit_use_anchors_": false
|
||||||
}
|
}
|
||||||
|
|
||||||
[node name="Button" type="Button" parent="."]
|
[node name="TitleLabel" type="Label" parent="."]
|
||||||
|
margin_left = 256.0
|
||||||
|
margin_top = 112.0
|
||||||
|
margin_right = 768.0
|
||||||
|
margin_bottom = 240.0
|
||||||
|
text = "Family : WIP"
|
||||||
|
align = 1
|
||||||
|
valign = 1
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="ErrorLabel" type="Label" parent="."]
|
||||||
|
anchor_left = 0.5
|
||||||
|
anchor_top = 0.5
|
||||||
|
anchor_right = 0.5
|
||||||
|
anchor_bottom = 0.5
|
||||||
|
margin_left = -72.0
|
||||||
|
margin_top = -20.0
|
||||||
|
margin_right = 77.0
|
||||||
|
margin_bottom = -6.0
|
||||||
|
custom_colors/font_color = Color( 1, 0, 0, 1 )
|
||||||
|
text = "[ERROR MESSAGE HERE]"
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="UsernameLabel" type="Label" parent="."]
|
||||||
|
anchor_left = 0.5
|
||||||
|
anchor_top = 0.5
|
||||||
|
anchor_right = 0.5
|
||||||
|
anchor_bottom = 0.5
|
||||||
|
margin_left = -88.0
|
||||||
|
margin_top = 4.0
|
||||||
|
margin_right = 88.0
|
||||||
|
margin_bottom = 18.0
|
||||||
|
text = "Email Address"
|
||||||
|
align = 1
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="UsernameEdit" type="LineEdit" parent="."]
|
||||||
|
anchor_left = 0.5
|
||||||
|
anchor_top = 0.5
|
||||||
|
anchor_right = 0.5
|
||||||
|
anchor_bottom = 0.5
|
||||||
|
margin_left = -232.0
|
||||||
|
margin_top = 20.0
|
||||||
|
margin_right = 232.0
|
||||||
|
margin_bottom = 44.0
|
||||||
|
|
||||||
|
[node name="PasswordLabel" type="Label" parent="."]
|
||||||
|
anchor_left = 0.5
|
||||||
|
anchor_top = 0.5
|
||||||
|
anchor_right = 0.5
|
||||||
|
anchor_bottom = 0.5
|
||||||
|
margin_left = -32.0
|
||||||
|
margin_top = 60.0
|
||||||
|
margin_right = 32.0
|
||||||
|
margin_bottom = 74.0
|
||||||
|
text = "Password"
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="PasswordEdit" type="LineEdit" parent="."]
|
||||||
|
anchor_left = 0.5
|
||||||
|
anchor_top = 0.5
|
||||||
|
anchor_right = 0.5
|
||||||
|
anchor_bottom = 0.5
|
||||||
|
margin_left = -232.0
|
||||||
|
margin_top = 76.0
|
||||||
|
margin_right = 232.0
|
||||||
|
margin_bottom = 100.0
|
||||||
|
secret = true
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="LoginButton" type="Button" parent="."]
|
||||||
|
anchor_left = 0.5
|
||||||
|
anchor_top = 0.5
|
||||||
|
anchor_right = 0.5
|
||||||
|
anchor_bottom = 0.5
|
||||||
|
margin_left = -32.0
|
||||||
|
margin_top = 124.0
|
||||||
|
margin_right = 32.0
|
||||||
|
margin_bottom = 148.0
|
||||||
|
text = "Login"
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="RegsiterButton" type="Button" parent="."]
|
||||||
anchor_left = 1.0
|
anchor_left = 1.0
|
||||||
anchor_top = 1.0
|
anchor_top = 1.0
|
||||||
anchor_right = 1.0
|
anchor_right = 1.0
|
||||||
@ -150,4 +248,7 @@ anchor_bottom = 1.0
|
|||||||
margin_left = -109.0
|
margin_left = -109.0
|
||||||
margin_top = -20.0
|
margin_top = -20.0
|
||||||
text = "Create Account"
|
text = "Create Account"
|
||||||
[connection signal="button_down" from="Button" to="SignupDialog" method="popup_centered"]
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
[connection signal="button_down" from="RegsiterButton" to="SignupDialog" method="popup_centered"]
|
||||||
|
39
client/scripts/menus/login_form.gd
Normal file
39
client/scripts/menus/login_form.gd
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
extends Node
|
||||||
|
|
||||||
|
export(NodePath) var usernamePath
|
||||||
|
export(NodePath) var passwordPath
|
||||||
|
export(NodePath) var buttonPath
|
||||||
|
export(NodePath) var errorPath
|
||||||
|
|
||||||
|
var usernameEdit : LineEdit
|
||||||
|
var passwordEdit : LineEdit
|
||||||
|
var errorLabel : Label
|
||||||
|
var button : Button
|
||||||
|
|
||||||
|
func _ready():
|
||||||
|
# Get nodes
|
||||||
|
usernameEdit = get_node(usernamePath)
|
||||||
|
passwordEdit = get_node(passwordPath)
|
||||||
|
errorLabel = get_node(errorPath)
|
||||||
|
button = get_node(buttonPath)
|
||||||
|
|
||||||
|
# Connect submission button
|
||||||
|
button.connect("button_down", self, "login")
|
||||||
|
usernameEdit.connect("text_entered", self, "login")
|
||||||
|
passwordEdit.connect("text_entered", self, "login")
|
||||||
|
|
||||||
|
# Clear error message
|
||||||
|
errorLabel.text = ""
|
||||||
|
|
||||||
|
func login(_text=""):
|
||||||
|
var error : NakamaException = yield(ServerConnection.authenticate_async(usernameEdit.text, passwordEdit.text), "completed")
|
||||||
|
|
||||||
|
# Check for error
|
||||||
|
if error:
|
||||||
|
passwordEdit.text = ""
|
||||||
|
errorLabel.add_color_override("font_color", Color.red)
|
||||||
|
errorLabel.text = error.message
|
||||||
|
else:
|
||||||
|
errorLabel.add_color_override("font_color", Color.green)
|
||||||
|
errorLabel.text = "Logged in successfully!"
|
||||||
|
print("Logged in successfully!")
|
@ -27,21 +27,32 @@ func _ready():
|
|||||||
passwordEdit.connect("text_changed", self, "validate_fields")
|
passwordEdit.connect("text_changed", self, "validate_fields")
|
||||||
cPasswordEdit.connect("text_changed", self, "validate_fields")
|
cPasswordEdit.connect("text_changed", self, "validate_fields")
|
||||||
|
|
||||||
|
usernameEdit.connect("text_entered", self, "signup")
|
||||||
|
passwordEdit.connect("text_entered", self, "signup")
|
||||||
|
cPasswordEdit.connect("text_entered", self, "signup")
|
||||||
|
|
||||||
# Connect submission button
|
# Connect submission button
|
||||||
button.connect("button_down", self, "signup")
|
button.connect("button_down", self, "signup")
|
||||||
|
|
||||||
# Clear error message
|
# Clear error message
|
||||||
errorLabel.text = ""
|
errorLabel.text = ""
|
||||||
|
|
||||||
func signup():
|
func signup(_text=""):
|
||||||
|
if button.disabled:
|
||||||
|
return
|
||||||
|
|
||||||
var error : NakamaException = yield(ServerConnection.signup_async(usernameEdit.text, passwordEdit.text), "completed")
|
var error : NakamaException = yield(ServerConnection.signup_async(usernameEdit.text, passwordEdit.text), "completed")
|
||||||
|
|
||||||
# Check for error
|
# Check for error
|
||||||
if error:
|
if error:
|
||||||
|
passwordEdit.text = ""
|
||||||
|
cPasswordEdit.text = ""
|
||||||
|
errorLabel.add_color_override("font_color", Color.red)
|
||||||
errorLabel.text = error.message
|
errorLabel.text = error.message
|
||||||
else:
|
else:
|
||||||
|
errorLabel.add_color_override("font_color", Color.green)
|
||||||
|
errorLabel.text = "Signed up successfully!"
|
||||||
print("Signed up successfully!")
|
print("Signed up successfully!")
|
||||||
# Close signup form
|
|
||||||
hide()
|
hide()
|
||||||
|
|
||||||
func validate_fields(_text=""):
|
func validate_fields(_text=""):
|
||||||
|
Reference in New Issue
Block a user