public ExpandOceanBalanceStrategy(
     ICellModificationLogic modLogic, IPossessionRelationship <IHexCell, IResourceNode> nodeLocationCanon,
     ICellScorer cellScorer, IRiverCanon riverCanon, IHexGrid grid
     )
 {
     ModLogic          = modLogic;
     NodeLocationCanon = nodeLocationCanon;
     CellScorer        = cellScorer;
     RiverCanon        = riverCanon;
     Grid = grid;
 }
 public ExchangeBuilder(
     IPossessionRelationship <ICivilization, ICity> cityPossessionCanon,
     IWarCanon warCanon, DiContainer container,
     IResourceExchangeBuilder resourceExchangeBuilder
     )
 {
     CityPossessionCanon     = cityPossessionCanon;
     WarCanon                = warCanon;
     Container               = container;
     ResourceExchangeBuilder = resourceExchangeBuilder;
 }
Beispiel #3
0
        public ResourceFeaturePlacer(
            INoiseGenerator noiseGenerator, [Inject(Id = "Feature Container")] Transform featureContainer,
            IFeatureConfig config, IPossessionRelationship <IHexCell, IResourceNode> resourceNodeLocationCanon,
            IVisibilityCanon visibilityCanon

            ) : base(noiseGenerator, featureContainer)
        {
            Config = config;
            ResourceNodeLocationCanon = resourceNodeLocationCanon;
            VisibilityCanon           = visibilityCanon;
        }
Beispiel #4
0
 public void InjectDependencies(
     ISocialPolicyCanon socialPolicyCanon, ICapitalCityCanon capitalCityCanon,
     IPossessionRelationship <ICivilization, ICity> cityPossessionCanon,
     IPossessionRelationship <ICity, IBuilding> buildingPossessionCanon
     )
 {
     SocialPolicyCanon       = socialPolicyCanon;
     CapitalCityCanon        = capitalCityCanon;
     CityPossessionCanon     = cityPossessionCanon;
     BuildingPossessionCanon = buildingPossessionCanon;
 }
 public void InjectDependencies(
     HexCellSignals cellSignals, CitySignals citySignals,
     IPossessionRelationship <IHexCell, ICity> cityLocationCanon,
     IPointOrientationLogic pointOrientationLogic
     )
 {
     CellSignals           = cellSignals;
     CitySignals           = citySignals;
     CityLocationCanon     = cityLocationCanon;
     PointOrientationLogic = pointOrientationLogic;
 }
 public CombatAuraLogic(
     IUnitConfig unitConfig, IUnitPositionCanon unitPositionCanon,
     IPossessionRelationship <ICivilization, IUnit> unitPossessionCanon,
     IHexGrid grid
     )
 {
     UnitConfig          = unitConfig;
     UnitPositionCanon   = unitPositionCanon;
     UnitPossessionCanon = unitPossessionCanon;
     Grid = grid;
 }
 public BuildingPossessionCanon(
     CitySignals citySignals, IResourceLockingCanon resourceLockingCanon,
     IPossessionRelationship <ICivilization, ICity> cityPossessionCanon,
     ITechCanon techCanon
     )
 {
     CitySignals          = citySignals;
     ResourceLockingCanon = resourceLockingCanon;
     CityPossessionCanon  = cityPossessionCanon;
     TechCanon            = techCanon;
 }
Beispiel #8
0
        public GoldRaidingLogic(
            IPossessionRelationship <ICivilization, IUnit> unitPossessionLogic,
            ICivModifiers civModifiers, UnitSignals signals
            )
        {
            UnitPossessionLogic = unitPossessionLogic;
            CivModifiers        = civModifiers;

            signals.MeleeCombatWithUnit.Subscribe(OnMeleeCombatWithUnit);
            signals.RangedCombatWithUnit.Subscribe(HandleBounty);
        }
Beispiel #9
0
 public CapitalCityCanon(
     IPossessionRelationship <ICity, IBuilding> buildingPossessionCanon,
     ICityConfig cityConfig, IBuildingFactory buildingFactory,
     IPossessionRelationship <ICivilization, ICity> cityPossessionCanon
     )
 {
     BuildingPossessionCanon = buildingPossessionCanon;
     CityConfig          = cityConfig;
     BuildingFactory     = buildingFactory;
     CityPossessionCanon = cityPossessionCanon;
 }
Beispiel #10
0
 public ImprovementInfluenceSource(
     IImprovementLocationCanon improvementLocationCanon, IHexGrid grid,
     ICivilizationTerritoryLogic civTerritoryLogic, IAIConfig aiConfig,
     IPossessionRelationship <IHexCell, IResourceNode> nodeLocationCanon
     )
 {
     ImprovementLocationCanon = improvementLocationCanon;
     Grid = grid;
     CivTerritoryLogic = civTerritoryLogic;
     AIConfig          = aiConfig;
     NodeLocationCanon = nodeLocationCanon;
 }
Beispiel #11
0
 public HillsBalanceStrategy(
     IYieldEstimator yieldEstimator, IMapScorer mapScorer,
     IPossessionRelationship <IHexCell, IResourceNode> nodeLocationCanon,
     ICellModificationLogic modLogic, ITechCanon techCanon
     )
 {
     YieldEstimator    = yieldEstimator;
     MapScorer         = mapScorer;
     NodeLocationCanon = nodeLocationCanon;
     ModLogic          = modLogic;
     TechCanon         = techCanon;
 }
Beispiel #12
0
 public GreatMilitaryPointGainLogic(
     IGreatPersonCanon greatPersonCanon, ICivilizationConfig civConfig,
     IPossessionRelationship <ICivilization, IUnit> unitPossessionCanon,
     UnitSignals unitSignals, ICivModifiers civModifiers
     )
 {
     GreatPersonCanon    = greatPersonCanon;
     CivConfig           = civConfig;
     UnitPossessionCanon = unitPossessionCanon;
     UnitSignals         = unitSignals;
     CivModifiers        = civModifiers;
 }
Beispiel #13
0
 public GreatPersonFactory(
     ICapitalCityCanon capitalCityCanon, IPossessionRelationship <IHexCell, ICity> cityLocationCanon,
     IUnitFactory unitFactory, IUnitConfig unitConfig, IHexGrid grid, CivilizationSignals civSignals
     )
 {
     CapitalCityCanon  = capitalCityCanon;
     CityLocationCanon = cityLocationCanon;
     UnitFactory       = unitFactory;
     UnitConfig        = unitConfig;
     Grid       = grid;
     CivSignals = civSignals;
 }
Beispiel #14
0
 public BarbarianPlayerBrain(
     IPossessionRelationship <ICivilization, IUnit> unitPossessionCanon,
     IBarbarianUnitBrain barbarianUnitBrain, IUnitCommandExecuter unitCommandExecuter,
     IBarbarianTurnExecuter turnExecuter, IInfluenceMapLogic influenceMapLogic
     )
 {
     UnitPossessionCanon = unitPossessionCanon;
     BarbarianUnitBrain  = barbarianUnitBrain;
     UnitCommandExecuter = unitCommandExecuter;
     TurnExecuter        = turnExecuter;
     InfluenceMapLogic   = influenceMapLogic;
 }
 public DiplomaticExchangeComposer(
     IPossessionRelationship <IHexCell, ICity> cityLocationCanon,
     IDiplomaticExchangeFactory exchangeFactory,
     IHexGrid grid,
     [Inject(Id = "Available Resources")] IEnumerable <IResourceDefinition> availableResources
     )
 {
     CityLocationCanon = cityLocationCanon;
     ExchangeFactory   = exchangeFactory;
     Grid = grid;
     AvailableResources = availableResources;
 }
 public PopulationGrowthLogic(
     ICityConfig config, IPossessionRelationship <ICivilization, ICity> cityPossessionCanon,
     ICivilizationHappinessLogic civilizationHappinessLogic, ICityModifiers cityModifiers,
     IPossessionRelationship <ICity, IBuilding> buildingPossessionCanon
     )
 {
     CityConfig                 = config;
     CityPossessionCanon        = cityPossessionCanon;
     CityModifiers              = cityModifiers;
     CivilizationHappinessLogic = civilizationHappinessLogic;
     BuildingPossessionCanon    = buildingPossessionCanon;
 }
Beispiel #17
0
 public FoundCityAbilityHandler(ICityValidityLogic cityValidityLogic,
                                IUnitPositionCanon unitPositionCanon, ICityFactory cityFactory,
                                IPossessionRelationship <ICivilization, IUnit> unitOwnershipCanon,
                                IPossessionRelationship <ICivilization, ICity> cityPossessionCanon
                                )
 {
     CityValidityLogic   = cityValidityLogic;
     UnitPositionCanon   = unitPositionCanon;
     CityFactory         = cityFactory;
     UnitOwnershipCanon  = unitOwnershipCanon;
     CityPossessionCanon = cityPossessionCanon;
 }
 public HurryProductionAbilityHandler(
     IPossessionRelationship <IHexCell, ICity> cityLocationCanon, IUnitPositionCanon unitPositionCanon,
     ICityConfig cityConfig, IPossessionRelationship <ICivilization, IUnit> unitPossessionCanon,
     IPossessionRelationship <ICivilization, ICity> cityPossessionCanon
     )
 {
     CityLocationCanon   = cityLocationCanon;
     UnitPositionCanon   = unitPositionCanon;
     CityConfig          = cityConfig;
     UnitPossessionCanon = unitPossessionCanon;
     CityPossessionCanon = cityPossessionCanon;
 }
Beispiel #19
0
        public CellPossessionCanon(
            CitySignals citySignals, HexCellSignals cellSignals,
            IPossessionRelationship <IHexCell, ICity> cityLocationCanon
            )
        {
            CitySignals       = citySignals;
            CityLocationCanon = cityLocationCanon;

            citySignals.BeingDestroyed.Subscribe(OnCityBeingDestroyed);

            cellSignals.MapBeingClearedSignal.Subscribe(unit => Clear(false));
        }
Beispiel #20
0
 public ConnectionPathCostLogic(
     IPossessionRelationship <ICivilization, ICity> cityPossessionCanon,
     IPossessionRelationship <IHexCell, ICity> cityLocationCanon,
     IPossessionRelationship <ICity, IBuilding> buildingPossessionCanon,
     ICivilizationTerritoryLogic civTerritoryLogic
     )
 {
     CityPossessionCanon     = cityPossessionCanon;
     CityLocationCanon       = cityLocationCanon;
     BuildingPossessionCanon = buildingPossessionCanon;
     CivTerritoryLogic       = civTerritoryLogic;
 }
 public CityHappinessLogic(
     ICityConfig config, IPossessionRelationship <ICity, IBuilding> buildingPossessionCanon,
     ICityModifiers cityModifiers, ICapitalConnectionLogic capitalConnectionLogic,
     IUnitGarrisonLogic unitGarrisonLogic
     )
 {
     Config = config;
     BuildingPossessionCanon = buildingPossessionCanon;
     CityModifiers           = cityModifiers;
     CapitalConnectionLogic  = capitalConnectionLogic;
     UnitGarrisonLogic       = unitGarrisonLogic;
 }
Beispiel #22
0
 public CityValidityLogic(
     IPossessionRelationship <ICity, IHexCell> tilePossessionCanon,
     IHexGrid hexGrid, ICityFactory cityFactory, ICityConfig config,
     IPossessionRelationship <IHexCell, ICity> cityLocationCanon
     )
 {
     CellPossessionCanon = tilePossessionCanon;
     HexGrid             = hexGrid;
     CityFactory         = cityFactory;
     Config            = config;
     CityLocationCanon = cityLocationCanon;
 }
 public PillageAbilityHandler(
     IUnitPositionCanon unitPositionCanon, IImprovementLocationCanon improvementLocationCanon,
     ICivilizationTerritoryLogic civTerritoryLogic, IWarCanon warCanon,
     IPossessionRelationship <ICivilization, IUnit> unitPossessionCanon
     )
 {
     UnitPositionCanon        = unitPositionCanon;
     ImprovementLocationCanon = improvementLocationCanon;
     CivTerritoryLogic        = civTerritoryLogic;
     WarCanon            = warCanon;
     UnitPossessionCanon = unitPossessionCanon;
 }
 public CityCenterYieldLogic(
     IIncomeModifierLogic incomeModifierLogic, ICityConfig cityConfig,
     IPossessionRelationship <ICivilization, ICity> cityPossessionCanon,
     IUnitGarrisonLogic unitGarrisonLogic, ICityModifiers cityModifiers
     )
 {
     IncomeModifierLogic = incomeModifierLogic;
     CityPossessionCanon = cityPossessionCanon;
     CityConfig          = cityConfig;
     UnitGarrisonLogic   = unitGarrisonLogic;
     CityModifiers       = cityModifiers;
 }
Beispiel #25
0
        public CivDiscoveryResponder(
            IUnitPositionCanon unitPositionCanon, ICivDiscoveryCanon civDiscoveryCanon,
            IPossessionRelationship <ICivilization, IUnit> unitPossessionCanon,
            VisibilitySignals visibilitySignals
            )
        {
            UnitPositionCanon   = unitPositionCanon;
            CivDiscoveryCanon   = civDiscoveryCanon;
            UnitPossessionCanon = unitPossessionCanon;

            visibilitySignals.CellBecameExploredByCiv.Subscribe(OnCellBecameExploredByCiv);
        }
        public ResourceNodeFactory(
            DiContainer container, IPossessionRelationship <IHexCell, IResourceNode> resourceNodeLocationCanon,
            IResourceRestrictionLogic restrictionCanon, ResourceSignals signals,
            [InjectOptional(Id = "Resource Node Container")] Transform nodeContainer
            )
        {
            Container = container;
            ResourceNodeLocationCanon = resourceNodeLocationCanon;
            RestrictionCanon          = restrictionCanon;
            NodeContainer             = nodeContainer;

            signals.NodeBeingDestroyed.Subscribe(OnNodeBeingDestroyed);
        }
 public ProductionLogic(
     ICityConfig config, IYieldGenerationLogic generationLogic,
     IPossessionRelationship <ICity, IBuilding> buildingPossessionCanon,
     IPossessionRelationship <ICivilization, ICity> cityPossessionCanon,
     ISocialPolicyCanon socialPolicyCanon
     )
 {
     Config                  = config;
     GenerationLogic         = generationLogic;
     BuildingPossessionCanon = buildingPossessionCanon;
     CityPossessionCanon     = cityPossessionCanon;
     SocialPolicyCanon       = socialPolicyCanon;
 }
 public void InjectDependencies(
     IPossessionRelationship <ICity, IHexCell> possessionCanon, CitySignals citySignals,
     HexCellSignals hexCellSignals, DiContainer container, IBorderExpansionLogic borderExpansionLogic,
     IPossessionRelationship <ICity, IHexCell> cellPossessionCanon
     )
 {
     PossessionCanon      = possessionCanon;
     CitySignals          = citySignals;
     HexCellSignals       = hexCellSignals;
     Container            = container;
     BorderExpansionLogic = borderExpansionLogic;
     CellPossessionCanon  = cellPossessionCanon;
 }
 public IncomeModifierLogic(
     IPossessionRelationship <ICity, IBuilding> buildingPossessionCanon,
     IPossessionRelationship <ICivilization, ICity> cityPossessionCanon,
     ICivilizationHappinessLogic civHappinessLogic,
     ICivilizationConfig civConfig, IGoldenAgeCanon goldenAgeCanon
     )
 {
     BuildingPossessionCanon = buildingPossessionCanon;
     CityPossessionCanon     = cityPossessionCanon;
     CivHappinessLogic       = civHappinessLogic;
     CivConfig      = civConfig;
     GoldenAgeCanon = goldenAgeCanon;
 }
        public CityPossessionCanon(
            CitySignals citySignals, CivilizationSignals civSignals,
            IPossessionRelationship <ICity, IHexCell> cellPossessionCanon,
            HexCellSignals cellSignals
            )
        {
            CivSignals = civSignals;

            citySignals.BeingDestroyed.Subscribe(OnCityBeingDestroyed);
            civSignals.CivBeingDestroyed.Subscribe(OnCivilizationBeingDestroyed);

            cellSignals.MapBeingClearedSignal.Subscribe(unit => Clear(false));
        }