Table of Contents

Class MapSystemCoordinator

Namespace
Map.Core
Assembly
MapAssembly.dll

Coordinator for map system runtime operations.

IMPORTANT: This class does NOT initialize components. All components must be initialized by ArchonEngine BEFORE calling Configure(). This class only coordinates runtime operations (map loading, rendering, interaction).

public class MapSystemCoordinator : MonoBehaviour
Inheritance
object
MapSystemCoordinator

Fields

OnComplete

Completion callback (success, message).

public Action<bool, string> OnComplete

Field Value

Action<bool, string>

OnProgress

Progress callback for loading screen (0-100, status message).

public Action<float, string> OnProgress

Field Value

Action<float, string>

Properties

BorderDispatcher

Border compute dispatcher for border rendering.

public BorderComputeDispatcher BorderDispatcher { get; }

Property Value

BorderComputeDispatcher

DataDirectory

Data directory from GameSettings.

public string DataDirectory { get; }

Property Value

string

IsInitialized

True when map system is fully initialized.

public bool IsInitialized { get; }

Property Value

bool

MapCamera

Camera used for map rendering.

public Camera MapCamera { get; }

Property Value

Camera

MapModeManager

Map mode manager for visualization modes.

public MapModeManager MapModeManager { get; }

Property Value

MapModeManager

MeshRenderer

Mesh renderer for the map quad.

public MeshRenderer MeshRenderer { get; }

Property Value

MeshRenderer

ProvinceHighlighter

Province highlighter for selection visuals.

public ProvinceHighlighter ProvinceHighlighter { get; }

Property Value

ProvinceHighlighter

ProvinceMapping

Province color-to-ID mapping for texture lookups.

public ProvinceMapping ProvinceMapping { get; }

Property Value

ProvinceMapping

ProvinceSelector

Province selector for mouse interaction.

public ProvinceSelector ProvinceSelector { get; }

Property Value

ProvinceSelector

TextureManager

Map texture manager for province textures.

public MapTextureManager TextureManager { get; }

Property Value

MapTextureManager

Methods

Configure(Camera, MeshRenderer, GameSettings, MapTextureManager, BorderComputeDispatcher, OwnerTextureDispatcher, ProvinceTerrainAnalyzer, TerrainBlendMapGenerator)

Configure the coordinator with required references and already-initialized components. All components must be initialized by ArchonEngine BEFORE calling this method.

public void Configure(Camera camera, MeshRenderer mesh, GameSettings settings, MapTextureManager textures, BorderComputeDispatcher borders, OwnerTextureDispatcher ownerDispatcher, ProvinceTerrainAnalyzer terrain, TerrainBlendMapGenerator blendGen)

Parameters

camera Camera
mesh MeshRenderer
settings GameSettings
textures MapTextureManager
borders BorderComputeDispatcher
ownerDispatcher OwnerTextureDispatcher
terrain ProvinceTerrainAnalyzer
blendGen TerrainBlendMapGenerator

GetMapPlaneTransform()

Get the map plane transform for border mesh scaling.

public Transform GetMapPlaneTransform()

Returns

Transform

GetProvinceAtWorldPosition(Vector3)

Get province ID at world position.

public ushort GetProvinceAtWorldPosition(Vector3 worldPosition)

Parameters

worldPosition Vector3

Returns

ushort

Initialize(SimulationDataReadyEvent)

Initialize the map system with simulation data. Call this after Configure() and after simulation is ready.

public void Initialize(SimulationDataReadyEvent simulationData)

Parameters

simulationData SimulationDataReadyEvent

RefreshAllVisuals()

Refresh all map visuals from current simulation state. Call after loading a save game or any bulk state change.

public void RefreshAllVisuals()