Class WorldSceneSystemRuntimeData
- Namespace
- FishMMO.Server.Implementation.World.WorldServer
- Assembly
- FishMMO.Server.dll
Runtime data container for WorldSceneSystem state. Stores mutable state separate from the system logic.
public class WorldSceneSystemRuntimeData : RuntimeDataContainer, IRuntimeDataContainer<INetworkManagerWrapper, ServerManager, NetworkConnection, IRuntimeDataContainer>, IServerComponent<INetworkManagerWrapper, ServerManager, NetworkConnection, IRuntimeDataContainer>, IWorldSceneSystemRuntimeData, IRuntimeDataContainer, IServerComponent
- Inheritance
-
WorldSceneSystemRuntimeData
- Implements
-
IRuntimeDataContainer<INetworkManagerWrapper, ServerManager, NetworkConnection, IRuntimeDataContainer>
- Inherited Members
Properties
AvailableSceneCache
Cache of FetchAvailableAsync results keyed by scene name.
Entries expire after a configurable TTL to reduce database polling.
public TimedCache<string, IReadOnlyList<SceneData>> AvailableSceneCache { get; set; }
Property Value
CachedSceneCharacterCount
Cached total character count across all scenes for this world server.
Used by UpdateConnectionCountAsync to avoid re-fetching all scene rows every cycle.
public int CachedSceneCharacterCount { get; set; }
Property Value
CachedSceneCharacterCountUtc
UTC timestamp of the last CachedSceneCharacterCount update.
public DateTime CachedSceneCharacterCountUtc { get; set; }
Property Value
InstanceLookupDebounce
Per-account debounce tracker for world-scene instance lookups.
public ExpiringKeyTracker<string> InstanceLookupDebounce { get; set; }
Property Value
LoginAuthenticator
Reference to the world server authenticator for login/authentication events.
public WorldServerAuthenticator LoginAuthenticator { get; set; }
Property Value
NextDebounceCleanup
Time remaining until the next debounce entry cleanup sweep.
public float NextDebounceCleanup { get; set; }
Property Value
NextQueuePositionUpdate
Time remaining until the next scene-routing queue position broadcast.
public float NextQueuePositionUpdate { get; set; }
Property Value
NextWaitQueueUpdate
Time remaining until the next wait queue update.
public float NextWaitQueueUpdate { get; set; }
Property Value
NextWaitingQueueSweep
Time remaining until the next waiting queue sweep.
public float NextWaitingQueueSweep { get; set; }
Property Value
SceneServerAddressCache
Cache of scene server addresses keyed by scene server ID. Addresses change infrequently, so a longer TTL is appropriate.
public TimedCache<long, ushort> SceneServerAddressCache { get; set; }
Property Value
WaitQueueRateSeconds
Rate in seconds at which the wait queue is processed.
public float WaitQueueRateSeconds { get; set; }
Property Value
WaitingQueueEnteredUtcByClientId
Tracks when each client entered a world-scene waiting queue.
public Dictionary<int, DateTime> WaitingQueueEnteredUtcByClientId { get; set; }
Property Value
Methods
Clear()
Clears the runtime data. Called when resetting state between sessions.
public override void Clear()
EndProcessing()
Atomically ends queue processing.
public void EndProcessing()
InitializeOnce()
Initializes the runtime data once. Called when the data container is first set up.
public override ServerComponentInitializationStatus InitializeOnce()
Returns
OnDeinitialize()
Deinitializes the runtime data. Called when shutting down the server.
protected override void OnDeinitialize()
TryBeginProcessing()
Atomically attempts to begin queue processing.
public bool TryBeginProcessing()
Returns
- bool
trueif processing was started; otherwisefalse.