Table of Contents

Class ProvinceSelector

Namespace
Map.Interaction
Assembly
MapAssembly.dll

Handles province selection and world position to province ID conversion Extracted from MapGenerator to follow single responsibility principle Provides fast mouse-to-province lookup for interaction systems

public class ProvinceSelector : MonoBehaviour
Inheritance
object
ProvinceSelector

Properties

SelectionEnabled

Enable or disable province selection.

public bool SelectionEnabled { get; set; }

Property Value

bool

Methods

GetHoveredProvince()

Get the currently hovered province ID

public ushort GetHoveredProvince()

Returns

ushort

GetProvinceAtMousePosition(Camera)

Get province ID at mouse position (convenience method)

public ushort GetProvinceAtMousePosition(Camera camera)

Parameters

camera Camera

Camera to use for conversion

Returns

ushort

Province ID at mouse position, or 0 if invalid

GetProvinceAtScreenPosition(Vector2, Camera)

Get province ID at screen position (converts screen to world first)

public ushort GetProvinceAtScreenPosition(Vector2 screenPosition, Camera camera)

Parameters

screenPosition Vector2

Screen position (e.g., mouse position)

camera Camera

Camera to use for conversion

Returns

ushort

Province ID at position, or 0 if invalid

GetProvinceAtWorldPosition(Vector3)

Get province ID at world position using raycast + texture lookup Uses texture-based lookup for optimal performance (<1ms)

public ushort GetProvinceAtWorldPosition(Vector3 worldPosition)

Parameters

worldPosition Vector3

World position to query

Returns

ushort

Province ID at position, or 0 if invalid

GetSelectedProvince()

Get the currently selected province ID

public ushort GetSelectedProvince()

Returns

ushort

Initialize(MapTextureManager, Transform)

public void Initialize(MapTextureManager textures, Transform quadTransform)

Parameters

textures MapTextureManager
quadTransform Transform

Events

OnProvinceClicked

public event Action<ushort> OnProvinceClicked

Event Type

Action<ushort>

OnProvinceHovered

public event Action<ushort> OnProvinceHovered

Event Type

Action<ushort>

OnProvinceRightClicked

public event Action<ushort> OnProvinceRightClicked

Event Type

Action<ushort>

OnSelectionCleared

public event Action OnSelectionCleared

Event Type

Action