Class TerrainCostMapMode
- Namespace
- StarterKit.MapModes
- Assembly
- StarterKit.dll
STARTERKIT: Terrain Movement Cost Map Mode
Visualizes terrain-based movement costs from terrain.json5. Demonstrates ENGINE-GAME separation for pathfinding costs.
Color scale:
- Green = fast movement (cost 1.0, grasslands/plains)
- Yellow = moderate (cost 1.1-1.3, desert/marsh/highlands)
- Orange = slow (cost 1.4-1.5, hills/mountains/jungle)
- Red = very slow (cost 1.6+, snow)
- Blue = water (impassable for land units)
Architecture:
- ENGINE provides TerrainData with MovementCost
- GAME visualizes costs for player understanding
public class TerrainCostMapMode : GradientMapMode, IMapModeHandler
- Inheritance
-
objectTerrainCostMapMode
- Implements
- Inherited Members
Constructors
TerrainCostMapMode(GameState, MapModeManager)
public TerrainCostMapMode(GameState gameStateRef, MapModeManager mapModeManagerRef)
Parameters
gameStateRefGameStatemapModeManagerRefMapModeManager
Properties
Mode
Map mode type this handler manages
public override MapMode Mode { get; }
Property Value
Name
Display name for UI
public override string Name { get; }
Property Value
- string
OceanColor
protected override Color32 OceanColor { get; }
Property Value
ShaderModeID
Shader mode ID for the GPU
public override int ShaderModeID { get; }
Property Value
- int
Methods
GetGradient()
Color gradient: Green (fast) -> Yellow -> Orange -> Red (slow)
protected override ColorGradient GetGradient()
Returns
GetProvinceTooltip(ushort, ProvinceQueries, CountryQueries)
Get tooltip text for a specific province in this map mode
public override string GetProvinceTooltip(ushort provinceId, ProvinceQueries provinceQueries, CountryQueries countryQueries)
Parameters
provinceIdushortprovinceQueriesProvinceQueriescountryQueriesCountryQueries
Returns
- string
GetUpdateFrequency()
Get update frequency for this map mode's textures
public override UpdateFrequency GetUpdateFrequency()
Returns
GetValueCategory(float)
Category names for movement speed
protected override string GetValueCategory(float normalizedValue)
Parameters
normalizedValuefloat
Returns
- string
GetValueForProvince(ushort, ProvinceQueries, object)
Get normalized movement cost for a province (0-1 range).
protected override float GetValueForProvince(ushort provinceId, ProvinceQueries provinceQueries, object gameProvinceSystem)
Parameters
provinceIdushortprovinceQueriesProvinceQueriesgameProvinceSystemobject
Returns
- float
OnActivate(Material, MapModeDataTextures)
Called when this map mode becomes active Set up shader properties, enable keywords, etc.
public override void OnActivate(Material mapMaterial, MapModeDataTextures dataTextures)
Parameters
mapMaterialMaterialdataTexturesMapModeDataTextures
OnDeactivate(Material)
Called when this map mode becomes inactive Clean up, disable keywords, etc.
public override void OnDeactivate(Material mapMaterial)
Parameters
mapMaterialMaterial