Namespace StarterKit.Commands
Classes
- AddGoldCommand
StarterKit command: Add or remove gold from player treasury. Demonstrates SimpleCommand pattern with fluent validation.
- ColonizeCommand
StarterKit command: Colonize an unowned province. Deducts gold and sets province ownership. Used by player UI and AI.
- ConstructBuildingCommand
StarterKit command: Construct a building in a province. Used by both player (via console) and AI (programmatically). Uses type-safe ProvinceId wrapper for compile-time safety.
- CreateUnitCommand
StarterKit command: Create a unit at a province. Handles gold cost and creates the unit. Uses type-safe ProvinceId wrapper for compile-time safety.
- DisbandUnitCommand
StarterKit command: Disband a unit. Demonstrates fluent validation with UnitExists validator. Uses type-safe ProvinceId wrapper for compile-time safety.
- MoveUnitCommand
StarterKit command: Move a unit to a new province. Demonstrates fluent validation pattern with GAME-layer extensions. Uses type-safe ProvinceId wrapper for compile-time safety.
- QueueUnitMovementCommand
StarterKit command: Queue unit movement along a path. Uses time-based EU4-style movement (units take X days per province). For multiplayer sync - all clients queue the same movement orders. Note: Uses BaseCommand instead of SimpleCommand for custom List serialization.