Class UITKArenaBoard
UI Toolkit arena board: lists the arenas a board offers, their modes and formats, and queues the player — alone or with their party — for one.
public class UITKArenaBoard : UITKCharacterControl
- Inheritance
-
ObjectComponentBehaviourMonoBehaviourUITKArenaBoard
- 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
Built on the same contract as the dungeon finder. The panel holds no authority and draws only what the server said; queuing is a request the server re-validates; the wait is shown in a strip from GroupFinderStatusBroadcast alone; closing the panel leaves the queue, and the server drops a waiter who walks away from the board.
Statuses of the dungeon kind are ignored here, and the finder ignores the arena kind. A character is in at most one queue, so each panel showing only its own is enough.
Properties
Layer
Draw and input order for this panel. Override to place a panel outside Window.
protected override UITKPanelLayer Layer { get; }
Property Value
Remarks
See UITKPanelLayer for why this is declared in code rather than set on each UIDocument in the scene.
Methods
Hide(bool)
Leaves the queue when the panel closes, then closes.
public override void Hide(bool overrideIsAlwaysOpen)
Parameters
overrideIsAlwaysOpenbool
OnAfterShow()
Called at the end of Show(), against the tree the player will actually see. Override to write content that changes from one opening to the next.
protected override void OnAfterShow()
Remarks
This exists because "set the text, then Show" does not work and fails silently. UnityEngine.UIElements.UIDocument clones the UXML on enable, so a panel that fills in its message, list rows or icon before calling Show() writes into a tree that is thrown away microseconds later, and the player sees whatever the UXML declares — an empty dialog, a blank tooltip, a selector with no rows.
Distinct from OnAfterStarting(), which re-applies state after the tree is rebuilt. This one runs on every show, rebuilt tree or not.
OnAfterStarting()
Re-applies the character once the visual tree exists.
protected override void OnAfterStarting()
Remarks
World entry calls FishMMO.Client.UIManager.SetCharacter(FishMMO.Shared.Core.IPlayerCharacter) for every control at once, and
a control that starts hidden has no visual tree until something shows it — so
OnPostSetCharacter() can run before OnStarting has cached any
elements. Overrides that write into those elements would then dereference null, and
even a null-safe one would leave the panel showing nothing, because the only call
that had data already happened. Running it again here is what makes the two orders
equivalent.
OnClientSet()
Called when a Client is injected via SetClient(Client). Override to subscribe to client events.
public override void OnClientSet()
OnClientUnset()
Called when the Client is cleared via SetClient(Client). Override to unsubscribe from client events.
public override void OnClientUnset()
OnPostUnsetCharacter()
Invoked immediately after Character is cleared. Override to perform any post-unset cleanup.
public override void OnPostUnsetCharacter()
OnStarting()
Called once the control's visual tree is available. Override to perform one-time initialisation against Root.
public override void OnStarting()
Remarks
Guaranteed to see a populated Root. For a control that starts hidden this runs when it is first shown rather than at Awake, because a hidden panel's UIDocument is disabled and has no tree to query.
OnTick()
Per-frame hook for controls that need one.
protected override void OnTick()