Table of Contents

Class UITKInstance

Namespace
FishMMO.Client
Assembly
FishMMO.Client.dll

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
Object
Component
Behaviour
MonoBehaviour
UITKInstance
Inherited Members
MonoBehaviour.IsInvoking()
MonoBehaviour.CancelInvoke()
MonoBehaviour.StopCoroutine(Coroutine)
MonoBehaviour.StopAllCoroutines()
MonoBehaviour.destroyCancellationToken
MonoBehaviour.useGUILayout
MonoBehaviour.didStart
MonoBehaviour.didAwake
MonoBehaviour.runInEditMode
Behaviour.enabled
Behaviour.isActiveAndEnabled
Component.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.transform
Component.transformHandle
Component.gameObject
Component.tag
Object.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.name
Object.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

UITKPanelLayer

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()