Table of Contents

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

Dictionary<long, PendingSceneInfo>

SceneInstanceByHandle

Flat O(1) lookup from the local scene manager handle to instance details.

Dictionary<int, ISceneInstanceDetails> SceneInstanceByHandle { get; }

Property Value

Dictionary<int, ISceneInstanceDetails>

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

Dictionary<long, ISceneInstanceDetails>

SceneNameByHandle

Maps local scene handles to scene names for quick lookup.

Dictionary<int, string> SceneNameByHandle { get; }

Property Value

Dictionary<int, string>

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; }

Property Value

Dictionary<long, Dictionary<string, Dictionary<long, ISceneInstanceDetails>>>