online multiplayer chess game (note server currently down)
Diffstat (limited to 'ui/menus/account/Account.gd')
| -rw-r--r-- | ui/menus/account/Account.gd | 110 |
1 files changed, 0 insertions, 110 deletions
diff --git a/ui/menus/account/Account.gd b/ui/menus/account/Account.gd deleted file mode 100644 index f76df91..0000000 --- a/ui/menus/account/Account.gd +++ /dev/null @@ -1,110 +0,0 @@ -extends Control - -onready var flags: PoolStringArray = ["rainbow"] -onready var flagchoice: GridMenuButton = $choose/signup/flag -onready var status: StatusLabel = $H/InfoLabel -onready var loading = $LoadingAnimation - -onready var tabs := { - "signup": $choose/signup/usernamepass, - "signin": $choose/signin/usernamepass, -} - -var signed_in = false -var autologin = true - -onready var tabcontainer = $choose - - -func _ready(): - loading.show() - tabcontainer.hide() - PacketHandler.connect("signinresult", self, "_on_signin_result") - PacketHandler.connect("signupresult", self, "_on_signup_result") - PacketHandler.connect("connection_established", self, "attempt_autologin") - flags.append_array(Utils.walk_dir("res://assets/flags", false, ["rainbow"])) - for i in flags: # add the items - flagchoice.add_icon_item(load("res://assets/flags/%s.png" % i), i.replace("_", " ")) - flagchoice.selected = 0 - - -func attempt_autologin(): - if Creds.data.name and Creds.data.password: - PacketHandler.signin(Creds.data) - else: - reset("", false) - - -func signin(): - $choose/signin/signinbutton.disabled = true - update_data(tabs.signin.username, tabs.signin.pw) - PacketHandler.signin(Creds.data) - - -func _on_signin_result(result: Dictionary) -> void: - var status_set = not autologin # not a autologin - if autologin: - autologin = false - yield(get_tree().create_timer(.25), "timeout") - $choose/signin/signinbutton.disabled = false - var err = result.get("err", false) - if err: - var err_table := {"INVALID_DATA": "Username/password incorrect."} - return reset(PacketHandler.construct_errstr(result, err_table) if status_set else "", status_set) - Creds.data.uuid = result.id # server uses `id` instead of `uuid`... - Creds.data.country = result.country - on_successful() - - -func signup(): - $choose/signup/signupbutton.disabled = true - Creds.data.country = flags[flagchoice.selected] - update_data(tabs.signup.username, tabs.signup.pw) - PacketHandler.signup(Creds.data) - - -func _on_signup_result(result: Dictionary): - $choose/signup/signupbutton.disabled = false - var err = result.get("err", false) - if err: - var err_table = {"ALREADY_EXISTS": "That user already exists. Pick a different username."} - return reset(PacketHandler.construct_errstr(result, err_table)) - Creds.data.uuid = result.id - on_successful() - - -func reset(reason: String, reset_creds := true) -> void: - if reason: - status.set_text(reason, 5) - if reset_creds: - Creds.reset() - tabcontainer.show() - loading.hide() - signed_in = false - - -func on_successful(): - Creds.save() - loading.hide() - Log.info("Signed in as %s" % Creds.get("name")) - status.set_text("Signed in as " + Creds.get("name"), 0) - signed_in = true # yay - $H/LogOut.show() - tabcontainer.hide() - - -func update_data(username, pw): - Creds.data.name = username.get_text() - Creds.data.password = pw.get_text() - Creds.save() - - -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()) - - -func log_out(): - $H/LogOut.hide() - reset("You are now logged out!") |