Class ProvinceRegistry
- Namespace
- Core.Registries
- Assembly
- Core.dll
Specialized registry for provinces with dense ID mapping Converts sparse definition IDs (1, 2, 5, 100...) to dense runtime IDs (1, 2, 3, 4...) Following data-linking-architecture.md specifications
public class ProvinceRegistry
- Inheritance
-
objectProvinceRegistry
Constructors
ProvinceRegistry()
public ProvinceRegistry()
Properties
Count
public int Count { get; }
Property Value
- int
TypeName
public string TypeName { get; }
Property Value
- string
Methods
ExistsByDefinition(int)
Check if province exists by definition ID
public bool ExistsByDefinition(int definitionId)
Parameters
definitionIdint
Returns
- bool
ExistsByRuntime(ushort)
Check if province exists by runtime ID
public bool ExistsByRuntime(ushort runtimeId)
Parameters
runtimeIdushort
Returns
- bool
GetAll()
Get all provinces
public IEnumerable<ProvinceData> GetAll()
Returns
- IEnumerable<ProvinceData>
GetAllDefinitionIds()
Get all definition IDs
public IEnumerable<int> GetAllDefinitionIds()
Returns
- IEnumerable<int>
GetAllRuntimeIds()
Get all valid runtime IDs
public IEnumerable<ushort> GetAllRuntimeIds()
Returns
- IEnumerable<ushort>
GetByDefinition(int)
Get province by definition ID from files (O(1) hash lookup) Use during loading phase when working with file data
public ProvinceData GetByDefinition(int definitionId)
Parameters
definitionIdint
Returns
GetByRuntime(ushort)
Get province by runtime ID (O(1) array access) Primary access method for simulation systems
public ProvinceData GetByRuntime(ushort runtimeId)
Parameters
runtimeIdushort
Returns
GetDefinitionId(ushort)
Get definition ID from runtime ID
public int GetDefinitionId(ushort runtimeId)
Parameters
runtimeIdushort
Returns
- int
GetDiagnostics()
Get diagnostic information
public string GetDiagnostics()
Returns
- string
GetRuntimeId(int)
Get runtime ID from definition ID
public ushort GetRuntimeId(int definitionId)
Parameters
definitionIdint
Returns
- ushort
Register(int, ProvinceData)
Register a province with its definition ID from files Returns dense runtime ID for efficient array access
public ushort Register(int definitionId, ProvinceData province)
Parameters
definitionIdintprovinceProvinceData
Returns
- ushort
TryGetByDefinition(int, out ProvinceData)
Try get province by definition ID
public bool TryGetByDefinition(int definitionId, out ProvinceData province)
Parameters
definitionIdintprovinceProvinceData
Returns
- bool
TryGetRuntimeId(int, out ushort)
Try get runtime ID by definition ID
public bool TryGetRuntimeId(int definitionId, out ushort runtimeId)
Parameters
definitionIdintruntimeIdushort
Returns
- bool