Class SceneServerRuntimeData
- Namespace
- FishMMO.Server.Implementation.World.SceneServer
- Assembly
- FishMMO.Server.dll
Runtime data container for scene server identification and state. Manages scene server operational state separately from SceneServerSystem logic.
public class SceneServerRuntimeData : RuntimeDataContainer, IRuntimeDataContainer<INetworkManagerWrapper, ServerManager, NetworkConnection, IRuntimeDataContainer>, IServerComponent<INetworkManagerWrapper, ServerManager, NetworkConnection, IRuntimeDataContainer>, ISceneServerRuntimeData, IRuntimeDataContainer, IServerComponent
- Inheritance
-
SceneServerRuntimeData
- Implements
-
IRuntimeDataContainer<INetworkManagerWrapper, ServerManager, NetworkConnection, IRuntimeDataContainer>
- Inherited Members
Properties
ExpiredSceneIdsBuffer
Reusable buffer for expired pending scene IDs during cleanup sweeps. Only used from the main thread.
public List<long> ExpiredSceneIdsBuffer { get; }
Property Value
ID
Database ID for this scene server instance.
public long ID { get; set; }
Property Value
IsLocked
Indicates whether the scene server is locked (not accepting new connections).
public bool IsLocked { get; set; }
Property Value
NextPendingSceneSweepUtc
Next UTC timestamp when pending-scene cleanup is allowed.
public DateTime NextPendingSceneSweepUtc { get; set; }
Property Value
SceneDetailsValuesBuffer
Reusable buffer for iterating scene instance details. Only used from the main thread.
public List<ISceneInstanceDetails> SceneDetailsValuesBuffer { get; }
Property Value
SceneGroupValuesBuffer
Reusable buffer for iterating scene group value collections. Only used from the main thread.
public List<Dictionary<long, ISceneInstanceDetails>> SceneGroupValuesBuffer { get; }
Property Value
ScenePulseDataBuffer
Reusable buffer for scene pulse payload data (Handle, CharacterCount). Only used from the main thread. Snapshotted before passing to async.
public List<(long SceneID, int CharacterCount)> ScenePulseDataBuffer { get; }
Property Value
- List<(long SceneID, int CharacterCount)>
ScenesToUnloadBuffer
Reusable buffer for scene handles queued for unloading. Only used from the main thread.
public List<long> ScenesToUnloadBuffer { get; }
Property Value
UnloadedHandlesBuffer
Reusable buffer for scene handles during unload iteration. Only used from the main thread.
public List<int> UnloadedHandlesBuffer { get; }
Property Value
Methods
Clear()
Clears all scene server runtime data.
public override void Clear()
EndPulse()
Atomically transitions the pulse gate from in-flight back to idle.
public void EndPulse()
InitializeOnce()
Initializes the scene server runtime data container.
public override ServerComponentInitializationStatus InitializeOnce()
Returns
OnDeinitialize()
Deinitializes the scene server runtime data container.
protected override void OnDeinitialize()
TryBeginPulse()
Atomically transitions the pulse gate from idle to in-flight. Returns true if this call won the race; false if a pulse is already in flight.
public bool TryBeginPulse()