Class MapInitializer
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
-
objectMapInitializer
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
DataDirectory
public string DataDirectory { get; }
Property Value
- string
DataLoader
public MapDataLoader DataLoader { get; }
Property Value
FogOfWarSystem
public FogOfWarSystem FogOfWarSystem { get; }
Property Value
IsInitialized
public bool IsInitialized { get; }
Property Value
- bool
MapCamera
public Camera MapCamera { get; }
Property Value
MapModeManager
public MapModeManager MapModeManager { get; }
Property Value
MeshRenderer
public MeshRenderer MeshRenderer { get; }
Property Value
OwnerTextureDispatcher
public OwnerTextureDispatcher OwnerTextureDispatcher { get; }
Property Value
ProvinceHighlighter
public ProvinceHighlighter ProvinceHighlighter { get; }
Property Value
ProvinceProcessor
public ProvinceMapProcessor ProvinceProcessor { get; }
Property Value
ProvinceSelector
public ProvinceSelector ProvinceSelector { get; }
Property Value
RenderingCoordinator
public MapRenderingCoordinator RenderingCoordinator { get; }
Property Value
TextureManager
public MapTextureManager TextureManager { get; }
Property Value
TexturePopulator
public MapTexturePopulator TexturePopulator { get; }
Property Value
TextureUpdateBridge
public TextureUpdateBridge TextureUpdateBridge { get; }
Property Value
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
successbool
SetProvinceProcessingCallback(Action<ProcessingProgress>)
Set progress callback for ProvinceMapProcessor
public void SetProvinceProcessingCallback(Action<ProvinceMapProcessor.ProcessingProgress> callback)
Parameters
callbackAction<ProvinceMapProcessor.ProcessingProgress>
StartMapInitialization()
Manually trigger map initialization - called by GAME layer (HegemonInitializer) after visual style is applied
public void StartMapInitialization()