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
-
objectProvinceSelector
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
cameraCameraCamera 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
screenPositionVector2Screen position (e.g., mouse position)
cameraCameraCamera 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
worldPositionVector3World 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
texturesMapTextureManagerquadTransformTransform
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