IClientState interface
Player session state plus the client-phase and UI-state signals. Session state (IsLoggedIn/Login/Logout) and client phase (Phase) are distinct concepts that coexist — they correlate today but answer different questions.
public interface IClientStateMembers
Section titled “Members”| name | description |
|---|---|
| CurrentSceneName { get; } | Identifier (currently a numeric scene id, not a friendly name) for the active scene. |
| IsLoggedIn { get; } | True when a character is fully loaded and in-world (same condition as IsAvailable). |
| IsWorldActive { get; } | True in a stable world scene, false mid-transition (the world-connect / scene-switch handshake). Stricter than Phase == World — also false during in-world zone loads. This is the ONLY protective gate: every unit that touches live game state self-gates on it. |
| Phase { get; } | Current client phase — read for the initial state (e.g. in a plugin ctor) or on demand. A signal: the framework gates nothing on it. Use for window visibility. |
| UiState { get; } | Informational in-world UI flags (None while at the title screen). The framework detects and exposes this but never gates on it; a plugin’s ShouldRender may read it. |
| event Login | Fired once when the player finishes loading into the world (in-world ready). |
| event Logout | Fired once when the player disconnects or returns to character select. |
| event PhaseChanged | Fires on each phase transition; the payload carries both the previous and next phase. |
| event SceneChanged | Fired when the active scene changes. Argument is the new scene identifier, or null when no scene is active. |
See Also
Section titled “See Also”- namespace Stellar.Abstractions.Services