Class UITKInstance
UI Toolkit instance-management panel. Shows which instance the character is in, how long it has left, and who else is in it; lets the member who opened it remove others, and lets anyone leave.
public class UITKInstance : UITKCharacterControl
- Inheritance
-
ObjectComponentBehaviourMonoBehaviourUITKInstance
- 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
The roster is a MODEL (FishMMO.Client.UITKInstance.members, plain data) rendered into a VIEW rebuilt from
scratch on every open, because UIDocument re-clones the UXML each time it is enabled
— the rule UITKParty documents at length.
Every open asks the server, and it keeps asking. Membership changes without this client being told — someone leaves, someone is removed, the leader walks out — and there is no push channel for it, so the panel refreshes on a timer while it is visible rather than showing a roster that quietly goes stale. The remaining time counts down locally between those refreshes, so the number moves without a message per second.
The leader check here only decides what is drawn. `ViewerIsLeader` arrives from the server, and the server re-derives it from the scene row's owner when a removal actually arrives. A drawn control is not an authorisation, and the broadcast can be sent without one.
Properties
Layer
Draw order tier. See UITKPanelLayer.
protected override UITKPanelLayer Layer { get; }
Property Value
Remarks
Popup for the same reason the scene-channel picker uses it:
this opens from the game menu and has to clear it, and UI Toolkit orders input as well as
drawing by sorting order, so a panel that loses that ordering receives no pointer events
at all. Sharing the Settings tier with Options would leave the winner decided by which
scene happened to load first.
Methods
OnAfterShow()
Asks for a fresh readout every time the panel opens.
protected override void OnAfterShow()
OnAfterStarting()
Re-renders after the visual tree has been rebuilt.
protected override void OnAfterStarting()
OnClick_Leave()
public void OnClick_Leave()
OnClientSet()
Subscribes to the instance readout.
public override void OnClientSet()
OnClientUnset()
Unsubscribes from the instance readout.
public override void OnClientUnset()
OnPostUnsetCharacter()
Drops the roster when the character goes away.
public override void OnPostUnsetCharacter()
Remarks
The roster describes one instance on one scene server. Carrying it across a scene transfer would show members of a dungeon this character has left, and offer a Remove button whose request means nothing on the server it would be sent to.
OnStarting()
Queries the elements and wires the footer buttons.
public override void OnStarting()
OnTick()
Runs the local countdown, the refresh timer and the request timeout.
protected override void OnTick()