online multiplayer chess game (note server currently down)
Diffstat (limited to 'ui/account/Account.gd')
| -rw-r--r-- | ui/account/Account.gd | 64 |
1 files changed, 41 insertions, 23 deletions
diff --git a/ui/account/Account.gd b/ui/account/Account.gd index 5ee24cf..19383a0 100644 --- a/ui/account/Account.gd +++ b/ui/account/Account.gd @@ -4,11 +4,14 @@ onready var flags: PoolStringArray = ["rainbow"] onready var flagchoice: OptionButton = $choose/signup/flag onready var data: Dictionary = SaveLoad.files.id.data onready var status: StatusLabel = $StatusLabel -onready var signup: UsernamePass = $choose/signup/usernamepass -onready var signin: UsernamePass = $choose/signin/usernamepass -var autologin = false +onready var tabs := { + "signup": $choose/signup/usernamepass, + "signin": $choose/signin/usernamepass, +} + var signed_in = false +var autologin = true func _ready(): @@ -21,40 +24,55 @@ func _ready(): func attempt_autologin(): - autologin = true if data.name and data.password: Globals.network.signin(data) - Log.info("Attempting autologin") - autologin = false + + +func _on_signin_pressed(): + $choose/signin/signinbutton.disabled = true + update_data(tabs.signin.username, tabs.signin.pw) + Globals.network.signin(data) func _on_signin_result(result): + var status_set = !autologin + autologin = false + $choose.show() $choose/signin/signinbutton.disabled = false if typeof(result) == TYPE_STRING: # ew, error, get it away from me - Log.err(result) - return + return reset(result, status_set) data.id = result.id data.country = result.country - save_data() - status.set_text("Sign in sucessfull!") - signed_in = true # yay + _after_result() + + +func _on_signup_pressed(): + $choose/signup/signupbutton.disabled = true + update_data(tabs.signup.username, tabs.signup.pw) + Globals.network.signup(data) func _on_signup_result(result: String): $choose/signup/signupbutton.disabled = false if "err:" in result: # ew error go awway - Log.err(result) - return + return reset(result) data.id = result + _after_result() + + +func reset(reason: String, set_status := true): + if set_status: + status.set_text(reason) + data = SaveLoad.default_id_data save_data() - status.set_text("Sign up sucessfull ( you are now logged in )!") - signed_in = true # yay + $choose.show() -func _on_signup_pressed(): - $choose/signup/signupbutton.disabled = true - update_data(signup.username, signup.pw) - Globals.network.signup(data) +func _after_result(): + save_data() + status.set_text("Signed in to " + SaveLoad.files.id.data.name) + signed_in = true # yay + $choose.hide() func update_data(username, pw): @@ -69,7 +87,7 @@ func save_data(): SaveLoad.save("id") -func _on_signin_pressed(): - $choose/signin/signinbutton.disabled = true - update_data(signin.username, signin.pw) - Globals.network.signin(data) +func _on_choose_tab_changed(tab: int): + var new: VBoxContainer = $choose.get_children()[tab].get_node("usernamepass") + var old = $choose.get_children()[1 if tab == 0 else 0].get_node("usernamepass") + new.update_data(old.export_data()) |