Class LandUnitCostCalculator
- Namespace
- StarterKit
- Assembly
- StarterKit.dll
STARTERKIT: Movement cost calculator for land units.
Wraps TerrainMovementCostCalculator and adds GAME policy:
- Land units cannot traverse water provinces
- Uses terrain movement costs from terrain.json5
For naval units, create NavalUnitCostCalculator that blocks land instead.
public class LandUnitCostCalculator : IMovementCostCalculator
- Inheritance
-
objectLandUnitCostCalculator
- Implements
Constructors
LandUnitCostCalculator(TerrainMovementCostCalculator)
public LandUnitCostCalculator(TerrainMovementCostCalculator terrainCalculator)
Parameters
terrainCalculatorTerrainMovementCostCalculator
Methods
CanTraverse(ushort, PathContext)
Land units cannot traverse water provinces.
public bool CanTraverse(ushort provinceId, PathContext context)
Parameters
provinceIdushortcontextPathContext
Returns
- bool
GetHeuristic(ushort, ushort)
Heuristic for A* - delegate to terrain calculator.
public FixedPoint64 GetHeuristic(ushort fromProvinceId, ushort goalProvinceId)
Parameters
fromProvinceIdushortgoalProvinceIdushort
Returns
GetMovementCost(ushort, ushort, PathContext)
Get movement cost based on destination terrain. Delegates to terrain calculator.
public FixedPoint64 GetMovementCost(ushort fromProvinceId, ushort toProvinceId, PathContext context)
Parameters
fromProvinceIdushorttoProvinceIdushortcontextPathContext