Class MapSystemCoordinator
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
-
objectMapSystemCoordinator
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
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
MapModeManager
Map mode manager for visualization modes.
public MapModeManager MapModeManager { get; }
Property Value
MeshRenderer
Mesh renderer for the map quad.
public MeshRenderer MeshRenderer { get; }
Property Value
ProvinceHighlighter
Province highlighter for selection visuals.
public ProvinceHighlighter ProvinceHighlighter { get; }
Property Value
ProvinceMapping
Province color-to-ID mapping for texture lookups.
public ProvinceMapping ProvinceMapping { get; }
Property Value
ProvinceSelector
Province selector for mouse interaction.
public ProvinceSelector ProvinceSelector { get; }
Property Value
TextureManager
Map texture manager for province textures.
public MapTextureManager TextureManager { get; }
Property Value
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
cameraCamerameshMeshRenderersettingsGameSettingstexturesMapTextureManagerbordersBorderComputeDispatcherownerDispatcherOwnerTextureDispatcherterrainProvinceTerrainAnalyzerblendGenTerrainBlendMapGenerator
GetMapPlaneTransform()
Get the map plane transform for border mesh scaling.
public Transform GetMapPlaneTransform()
Returns
GetProvinceAtWorldPosition(Vector3)
Get province ID at world position.
public ushort GetProvinceAtWorldPosition(Vector3 worldPosition)
Parameters
worldPositionVector3
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
simulationDataSimulationDataReadyEvent
RefreshAllVisuals()
Refresh all map visuals from current simulation state. Call after loading a save game or any bulk state change.
public void RefreshAllVisuals()