online multiplayer chess game (note server currently down)
Diffstat (limited to 'ui/menus/account/Account.gd')
-rw-r--r--ui/menus/account/Account.gd110
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!")