Class UITKLogin
UI Toolkit implementation of the login control providing identifier/password input, registration access, sign-in and the full authentication-result handling flow.
public class UITKLogin : UITKControl
- Inheritance
-
ObjectComponentBehaviourMonoBehaviourUITKLogin
- Inherited Members
-
MonoBehaviour.IsInvoking()MonoBehaviour.CancelInvoke()MonoBehaviour.StopCoroutine(Coroutine)MonoBehaviour.StopAllCoroutines()MonoBehaviour.destroyCancellationTokenMonoBehaviour.useGUILayoutMonoBehaviour.didStartMonoBehaviour.didAwakeMonoBehaviour.runInEditModeBehaviour.enabledBehaviour.isActiveAndEnabledComponent.GetComponent<T>()Component.TryGetComponent<T>(out T)Component.GetComponentInChildren<T>()Component.GetComponentsInChildren<T>()Component.GetComponentInParent<T>()Component.GetComponentsInParent<T>()Component.GetComponents<T>()Component.GetComponentIndex()Component.CompareTag(TagHandle)Component.transformComponent.transformHandleComponent.gameObjectComponent.tagObject.GetEntityId()Object.GetInstanceID()Object.GetHashCode()Object.InstantiateAsync<T>(T)Object.InstantiateAsync<T>(T, Transform)Object.InstantiateAsync<T>(T, Vector3, Quaternion)Object.InstantiateAsync<T>(T, Transform, Vector3, Quaternion)Object.Instantiate(Object, Vector3, Quaternion)Object.Instantiate(Object, Vector3, Quaternion, Transform)Object.Instantiate(Object)Object.Instantiate(Object, Scene)Object.Instantiate<T>(T, InstantiateParameters)Object.Instantiate<T>(T, Vector3, Quaternion, InstantiateParameters)Object.Instantiate(Object, Transform)Object.Instantiate<T>(T)Object.Instantiate<T>(T, Vector3, Quaternion)Object.Instantiate<T>(T, Vector3, Quaternion, Transform)Object.Instantiate<T>(T, Transform)Object.Destroy(Object)Object.DestroyImmediate(Object)Object.DontDestroyOnLoad(Object)Object.DestroyObject(Object)Object.FindObjectsOfType<T>()Object.FindObjectsByType<T>(FindObjectsSortMode)Object.FindObjectsByType<T>(FindObjectsInactive, FindObjectsSortMode)Object.FindObjectOfType<T>()Object.FindFirstObjectByType<T>()Object.FindAnyObjectByType<T>()Object.FindFirstObjectByType<T>(FindObjectsInactive)Object.FindAnyObjectByType<T>(FindObjectsInactive)Object.FindObjectsByType<T>()Object.FindObjectsByType<T>(FindObjectsInactive)Object.ToString()Object.nameObject.hideFlags
Remarks
Secure password input limitation: UnityEngine.UIElements.TextField stores text as a
managed string and exposes no byte[], char[], or
SecureString API. .NET strings are immutable and cannot be deterministically zeroed.
The password-field masking provides visual masking only. The SRP protocol ensures the
password never travels on the wire, which is the primary protection.
Fields
OnLoginSuccessEnd
Called after OnLoginSuccessStart finishes.
public Action OnLoginSuccessEnd
Field Value
OnLoginSuccessStart
Called when a Login Success Client Authentication result is received from the server.
public Action OnLoginSuccessStart
Field Value
Properties
CanDrag
Full-screen forms are not windows: there is nowhere to drag them to.
protected override bool CanDrag { get; }
Property Value
Remarks
Methods
Hide(bool)
Hides the login panel and resets the handshake message.
public override void Hide(bool overrideIsAlwaysOpen)
Parameters
overrideIsAlwaysOpenbool
Remarks
Overrides Hide(bool), not Hide(). Hide() is non-virtual and only
forwards here, so this is the one place teardown can live where every caller reaches
it — quit-to-login calls the bool form directly.
OnAfterShow()
Puts the caret where the player is going to type, on controls whose lock state matches the request that is actually outstanding.
protected override void OnAfterShow()
OnAfterStarting()
Re-applies the sign-in lock after the visual tree was rebuilt.
protected override void OnAfterStarting()
Remarks
SetSignInLocked(bool) writes into elements that the next hide/show replaces, so a panel that came back during a login still in flight — which is exactly what the verification and TOTP flows do, and what the reply timeout does — presented an enabled Sign In button over a request the client was still waiting on. Driven off the guard rather than off a second copy of the flag, so the two cannot disagree.
OnClick_Login()
Validates input and initiates the login process.
public void OnClick_Login()
OnClick_OnOptions()
Shows the options panel, which lives in ClientPreboot and is therefore shared with every scene loaded after it rather than owned by this one.
public void OnClick_OnOptions()
OnClick_OnRegister()
Hides the login panel and shows the registration panel.
public void OnClick_OnRegister()
OnClick_Quit()
Quits the client application.
public void OnClick_Quit()
OnClientSet()
Subscribes to connection and authentication events when the client is injected.
public override void OnClientSet()
OnClientUnset()
Unsubscribes from connection and authentication events when the client is cleared.
public override void OnClientUnset()
OnQuitToLogin()
Shows the login panel and unlocks sign-in controls when quitting to login.
public override void OnQuitToLogin()
OnStarting()
Resolves and caches visual elements and wires up button callbacks.
public override void OnStarting()
OnTick()
Per-frame hook for controls that need one.
protected override void OnTick()
SetSignInLocked(bool)
Sets the locked state for signing in (enables/disables controls).
public void SetSignInLocked(bool locked)
Parameters
lockedboolTrue to lock (disable) controls, false to unlock.