Interface ISceneInstanceMappingData
- Namespace
- FishMMO.Server.Core.World.SceneServer
- Assembly
- FishMMO.Server.dll
Runtime data container for scene instance tracking and scene handle management. Provides read-only access to scene instance collections.
public interface ISceneInstanceMappingData : IRuntimeDataContainer, IServerComponent
Properties
PendingScenes
Tracks pending scene load requests by scene ID. Each entry combines the SceneData with its enqueue timestamp for TTL expiration, eliminating dual-map sync risk.
Dictionary<long, PendingSceneInfo> PendingScenes { get; }
Property Value
SceneInstanceByHandle
Flat O(1) lookup from the local scene manager handle to instance details.
Dictionary<int, ISceneInstanceDetails> SceneInstanceByHandle { get; }
Property Value
Remarks
Keyed by the process-local handle because that is what scene-unload callbacks report. Everything that identifies an instance across processes uses SceneInstanceByID instead — see SceneID.
SceneInstanceByID
Flat O(1) lookup from scene row ID to instance details. Kept in sync with the nested WorldScenes dictionary and with SceneInstanceByHandle.
Dictionary<long, ISceneInstanceDetails> SceneInstanceByID { get; }
Property Value
SceneNameByHandle
Maps local scene handles to scene names for quick lookup.
Dictionary<int, string> SceneNameByHandle { get; }
Property Value
WorldScenes
Maps world server IDs to scene names to scene row IDs, tracking all loaded scene instances.
Dictionary<long, Dictionary<string, Dictionary<long, ISceneInstanceDetails>>> WorldScenes { get; }