public void InjectDependencies(
     List <UnitDisplayBase> displaysToManage,
     UIStateMachineBrain brain,
     ICombatExecuter combatExecuter,
     IUnitAttackOrderLogic attackOrderLogic,
     IUnitPositionCanon unitPositionCanon,
     IHexPathfinder hexPathfinder,
     ICellPathDrawer pathDrawer,
     CitySignals citySignals,
     UnitSignals unitSignals,
     HexCellSignals cellSignals,
     IHexCellOverlayManager overlayManager,
     [Inject(Id = "Combat Summary Display")] CombatSummaryDisplay combatSummaryDisplay,
     IPossessionRelationship <IHexCell, ICity> cityLocationCanon
     )
 {
     DisplaysToManage     = displaysToManage;
     Brain                = brain;
     CombatExecuter       = combatExecuter;
     AttackOrderLogic     = attackOrderLogic;
     UnitPositionCanon    = unitPositionCanon;
     HexPathfinder        = hexPathfinder;
     PathDrawer           = pathDrawer;
     CitySignals          = citySignals;
     UnitSignals          = unitSignals;
     CellSignals          = cellSignals;
     OverlayManager       = overlayManager;
     CombatSummaryDisplay = combatSummaryDisplay;
     CityLocationCanon    = cityLocationCanon;
 }
        public MoveUnitCommand(
            IHexPathfinder hexPathfinder, IUnitPositionCanon unitPositionCanon
            )
        {
            HexPathfinder     = hexPathfinder;
            UnitPositionCanon = unitPositionCanon;

            Status = CommandStatus.NotStarted;
        }
 public CivilizationConnectionLogic(
     IHexPathfinder hexPathfinder, IPossessionRelationship <IHexCell, ICity> cityLocationCanon,
     ICapitalCityCanon capitalCityCanon, IConnectionPathCostLogic connectionPathCostLogic
     )
 {
     HexPathfinder           = hexPathfinder;
     CityLocationCanon       = cityLocationCanon;
     CapitalCityCanon        = capitalCityCanon;
     ConnectionPathCostLogic = connectionPathCostLogic;
 }
예제 #4
0
        public EnemyAI(ICrossPlayerController CrossPlayerController, ITurnManager TurnManager, IHexPathfinder HexPathfinder, IUnitMovementManager UnitMovementManager)
        {
            this.CrossPlayerController = CrossPlayerController;
            this.TurnManager           = TurnManager;
            this.HexPathfinder         = HexPathfinder;
            this.UnitMovementManager   = UnitMovementManager;

            TurnManager.TurnStarted += OnTurnStarted;

            UnitMovementManager.UnitPositionChangeEnd += OnUnitPositionChangeEnd;
        }
 public BarbarianBePrisonersBrain(
     IHexGrid grid, IHexPathfinder hexPathfinder, IUnitPositionCanon unitPositionCanon,
     IEncampmentLocationCanon encampmentLocationCanon, DiContainer container
     )
 {
     Grid                    = grid;
     HexPathfinder           = hexPathfinder;
     UnitPositionCanon       = unitPositionCanon;
     EncampmentLocationCanon = encampmentLocationCanon;
     Container               = container;
 }
 public MeleeAttackValidityLogic(
     IUnitPositionCanon unitPositionCanon, IHexGrid grid, IHexPathfinder hexPathfinder,
     IUnitVisibilityLogic lineOfSightLogic, ICommonAttackValidityLogic commandAttackValidityLogic
     )
 {
     UnitPositionCanon = unitPositionCanon;
     Grid                      = grid;
     HexPathfinder             = hexPathfinder;
     LineOfSightLogic          = lineOfSightLogic;
     CommonAttackValidityLogic = commandAttackValidityLogic;
 }
 public BarbarianCaptureCivilianBrain(
     IHexGrid grid, IUnitPositionCanon unitPositionCanon, IHexPathfinder hexPathfinder,
     IBarbarianConfig barbarianConfig, IBarbarianBrainFilterLogic filterLogic,
     DiContainer container
     )
 {
     Grid = grid;
     UnitPositionCanon = unitPositionCanon;
     HexPathfinder     = hexPathfinder;
     BarbarianConfig   = barbarianConfig;
     FilterLogic       = filterLogic;
     Container         = container;
 }
        public UnitSelectionManager(ISelectionManager SelectionManager, IHexPathfinder HexPathfinder, IHexDatabase HexDatabase, ITurnManager TurnManager, ICrossPlayerController CrossPlayerController)
        {
            this.SelectionManager      = SelectionManager;
            this.HexPathfinder         = HexPathfinder;
            this.HexDatabase           = HexDatabase;
            this.TurnManager           = TurnManager;
            this.CrossPlayerController = CrossPlayerController;

            TurnManager.TurnStarted += OnTurnStarted;

            SelectionManager.SelectableSelected   += OnSelectableSelected;
            SelectionManager.SelectableUnselected += OnSelectableUnselected;
        }
 public BarbarianFleeBrain(
     IUnitPositionCanon unitPositionCanon, IUnitStrengthEstimator unitStrengthEstimator,
     IBarbarianConfig barbarianConfig, IHexPathfinder hexPathfiner, IHexGrid grid,
     IBarbarianBrainWeightLogic brainTools, DiContainer container
     )
 {
     UnitPositionCanon     = unitPositionCanon;
     UnitStrengthEstimator = unitStrengthEstimator;
     BarbarianConfig       = barbarianConfig;
     HexPathfinder         = hexPathfiner;
     Grid       = grid;
     BrainTools = brainTools;
     Container  = container;
 }
예제 #10
0
        public RiverGenerator(
            IHexGrid grid, IRiverCanon riverCanon, ICellModificationLogic modLogic,
            IMapGenerationConfig config, IHexPathfinder hexPathfinder,
            IWeightedRandomSampler <IHexCell> cellRandomSampler

            )
        {
            Grid              = grid;
            RiverCanon        = riverCanon;
            ModLogic          = modLogic;
            Config            = config;
            HexPathfinder     = hexPathfinder;
            CellRandomSampler = cellRandomSampler;
        }
예제 #11
0
 public CombatExecuter(
     IMeleeAttackValidityLogic meleeAttackValidityLogic, IRangedAttackValidityLogic rangedAttackValidityLogic,
     IUnitPositionCanon unitPositionCanon, IHexGrid grid, ICombatInfoLogic combatModifierLogic, UnitSignals unitSignals,
     IHexPathfinder hexPathfinder, ICommonCombatExecutionLogic commonCombatExecutionLogic
     )
 {
     MeleeAttackValidityLogic  = meleeAttackValidityLogic;
     RangedAttackValidityLogic = rangedAttackValidityLogic;
     UnitPositionCanon         = unitPositionCanon;
     Grid                       = grid;
     CombatInfoLogic            = combatModifierLogic;
     UnitSignals                = unitSignals;
     HexPathfinder              = hexPathfinder;
     CommonCombatExecutionLogic = commonCombatExecutionLogic;
 }