Table of Contents

Class MapInitializer

Namespace
Map.Core
Assembly
MapAssembly.dll

Handles initialization of all map system components Extracted from MapGenerator to follow single responsibility principle Manages component creation, dependency injection, and initialization order

public class MapInitializer : MonoBehaviour
Inheritance
object
MapInitializer

Fields

OnInitializationComplete

public Action<bool, string> OnInitializationComplete

Field Value

Action<bool, string>

OnInitializationProgress

public Action<float, string> OnInitializationProgress

Field Value

Action<float, string>

Properties

BorderDispatcher

public BorderComputeDispatcher BorderDispatcher { get; }

Property Value

BorderComputeDispatcher

DataDirectory

public string DataDirectory { get; }

Property Value

string

DataLoader

public MapDataLoader DataLoader { get; }

Property Value

MapDataLoader

FogOfWarSystem

public FogOfWarSystem FogOfWarSystem { get; }

Property Value

FogOfWarSystem

IsInitialized

public bool IsInitialized { get; }

Property Value

bool

MapCamera

public Camera MapCamera { get; }

Property Value

Camera

MapModeManager

public MapModeManager MapModeManager { get; }

Property Value

MapModeManager

MeshRenderer

public MeshRenderer MeshRenderer { get; }

Property Value

MeshRenderer

OwnerTextureDispatcher

public OwnerTextureDispatcher OwnerTextureDispatcher { get; }

Property Value

OwnerTextureDispatcher

ProvinceHighlighter

public ProvinceHighlighter ProvinceHighlighter { get; }

Property Value

ProvinceHighlighter

ProvinceProcessor

public ProvinceMapProcessor ProvinceProcessor { get; }

Property Value

ProvinceMapProcessor

ProvinceSelector

public ProvinceSelector ProvinceSelector { get; }

Property Value

ProvinceSelector

RenderingCoordinator

public MapRenderingCoordinator RenderingCoordinator { get; }

Property Value

MapRenderingCoordinator

TextureManager

public MapTextureManager TextureManager { get; }

Property Value

MapTextureManager

TexturePopulator

public MapTexturePopulator TexturePopulator { get; }

Property Value

MapTexturePopulator

TextureUpdateBridge

public TextureUpdateBridge TextureUpdateBridge { get; }

Property Value

TextureUpdateBridge

Methods

InitializeAllComponents()

Initialize all map system components in the correct order Component initialization is 0-20% of total map initialization Heavy work (bitmap loading, texture population) is 20-100% handled by MapSystemCoordinator

public void InitializeAllComponents()

InitializeProvinceSelectorWithMesh()

Initialize ProvinceSelector after rendering setup is complete

public void InitializeProvinceSelectorWithMesh()

SetInitialized(bool)

Set initialization state (called by MapSystemCoordinator when map generation completes)

public void SetInitialized(bool success)

Parameters

success bool

SetProvinceProcessingCallback(Action<ProcessingProgress>)

Set progress callback for ProvinceMapProcessor

public void SetProvinceProcessingCallback(Action<ProvinceMapProcessor.ProcessingProgress> callback)

Parameters

callback Action<ProvinceMapProcessor.ProcessingProgress>

StartMapInitialization()

Manually trigger map initialization - called by GAME layer (HegemonInitializer) after visual style is applied

public void StartMapInitialization()