Table of Contents

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
object
ProvinceRegistry

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

definitionId int

Returns

bool

ExistsByRuntime(ushort)

Check if province exists by runtime ID

public bool ExistsByRuntime(ushort runtimeId)

Parameters

runtimeId ushort

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

definitionId int

Returns

ProvinceData

GetByRuntime(ushort)

Get province by runtime ID (O(1) array access) Primary access method for simulation systems

public ProvinceData GetByRuntime(ushort runtimeId)

Parameters

runtimeId ushort

Returns

ProvinceData

GetDefinitionId(ushort)

Get definition ID from runtime ID

public int GetDefinitionId(ushort runtimeId)

Parameters

runtimeId ushort

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

definitionId int

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

definitionId int
province ProvinceData

Returns

ushort

TryGetByDefinition(int, out ProvinceData)

Try get province by definition ID

public bool TryGetByDefinition(int definitionId, out ProvinceData province)

Parameters

definitionId int
province ProvinceData

Returns

bool

TryGetRuntimeId(int, out ushort)

Try get runtime ID by definition ID

public bool TryGetRuntimeId(int definitionId, out ushort runtimeId)

Parameters

definitionId int
runtimeId ushort

Returns

bool