diff --git a/ColourMeOKGame/Assets/Scenes/GameScene.unity b/ColourMeOKGame/Assets/Scenes/GameScene.unity
index e956634..486551b 100644
--- a/ColourMeOKGame/Assets/Scenes/GameScene.unity
+++ b/ColourMeOKGame/Assets/Scenes/GameScene.unity
@@ -134,6 +134,7 @@ GameObject:
- component: {fileID: 133964671}
- component: {fileID: 133964673}
- component: {fileID: 133964674}
+ - component: {fileID: 133964675}
m_Layer: 5
m_Name: UI
m_TagString: Untagged
@@ -200,6 +201,18 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
state: 0
+--- !u!114 &133964675
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 133964670}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 6351b7620d84e2d43bc4f59c5f3f8b5c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
--- !u!1 &447905425
GameObject:
m_ObjectHideFlags: 0
diff --git a/ColourMeOKGame/Assets/Scripts/AccountUI.cs b/ColourMeOKGame/Assets/Scripts/AccountUI.cs
index dcab716..977f0ff 100644
--- a/ColourMeOKGame/Assets/Scripts/AccountUI.cs
+++ b/ColourMeOKGame/Assets/Scripts/AccountUI.cs
@@ -1,82 +1,90 @@
using System;
using System.Net.Mail;
+using Firebase.Auth;
using UnityEngine;
using UnityEngine.Assertions;
using UnityEngine.UIElements;
+using Button = UnityEngine.UIElements.Button;
///
/// class to handle the account view ui
///
public class AccountUI : MonoBehaviour
{
- ///
- /// state of the account view
- ///
- private enum State
- {
- UnassociatedState, // (start)
- NotSignedIn, // initial
- AfterContinue, // after
- SignedIn // post
- }
-
///
/// current state of the account view
///
[SerializeField] private State state = State.UnassociatedState;
///
- /// account view header text
+ /// default text colour
///
- private Label _header;
-
+ private readonly Color _defaultInputFieldValueTextColour = new(5.88f, 5.1f, 10.59f);
+
///
- /// username text field
+ /// error text colour
///
- private TextField _usernameField;
-
- ///
- /// email text field
- ///
- private TextField _emailField;
-
- ///
- /// password text field
- ///
- private TextField _passwordField;
-
- ///
- /// button to update the username
- ///
- private Button _usernameUpdateButton;
-
- ///
- /// button to update the email
- ///
- private Button _emailUpdateButton;
-
- ///
- /// button to update the password
- ///
- private Button _passwordUpdateButton;
-
+ private readonly Color _errorInputFieldValueTextColour = new(1f, 50.59f, 50.2f);
+
///
/// accompanying text for the account input fields, used when an error/notice is needed
///
private Label _accompanyingText;
-
+
+ ///
+ /// email text field
+ ///
+ private TextField _emailField;
+
+ ///
+ /// button to update the email
+ ///
+ private Button _emailUpdateButton;
+
+ ///
+ /// account view header text
+ ///
+ private Label _header;
+
+ ///
+ /// password text field
+ ///
+ private TextField _passwordField;
+
+ ///
+ /// button to update the password
+ ///
+ private Button _passwordUpdateButton;
+
///
/// either 'continue', 'log in', or 'sign out' button
/// (in order of 'initial', 'after', and 'post' states)
///
private Button _primaryActionButton;
-
+
///
/// either 'forgot password' or 'create an account'
/// (in order of 'initial' and 'after' states, is hidden in 'post' state)
///
private Button _secondaryActionButton;
-
+
+ ///
+ /// username text field
+ ///
+ private TextField _usernameField;
+
+ ///
+ /// button to update the username
+ ///
+ private Button _usernameUpdateButton;
+
+ public void Start()
+ {
+ if (state == State.UnassociatedState) throw new Exception("unreachable state");
+
+ // GameManager.Instance.Backend.RegisterOnSignInCallback(OnSignInCallback);
+ }
+
///
/// function to subscribe button events to their respective functions
///
@@ -85,44 +93,57 @@ public void OnEnable()
var ui = GetComponent().rootVisualElement;
_header = ui.Q