public CellYieldLogic(
            IPossessionRelationship <IHexCell, IResourceNode> nodePositionCanon,
            IImprovementLocationCanon improvementLocationCanon,
            IPossessionRelationship <ICity, IHexCell> cellPossessionCanon,
            IPossessionRelationship <ICity, IBuilding> buildingPossessionCanon,
            ITechCanon techCanon,
            IFreshWaterLogic freshWaterCanon,
            IGoldenAgeCanon goldenAgeCanon,
            ICivilizationConfig civConfig,

            IInherentCellYieldLogic inherentYieldLogic,
            IResourceNodeYieldLogic nodeYieldLogic,
            IImprovementYieldLogic improvementYieldLogic,
            ICellYieldFromBuildingsLogic buildingYieldLogic
            )
        {
            NodePositionCanon        = nodePositionCanon;
            ImprovementLocationCanon = improvementLocationCanon;
            CellPossessionCanon      = cellPossessionCanon;
            BuildingPossessionCanon  = buildingPossessionCanon;
            TechCanon       = techCanon;
            FreshWaterCanon = freshWaterCanon;
            GoldenAgeCanon  = goldenAgeCanon;
            CivConfig       = civConfig;

            InherentYieldLogic    = inherentYieldLogic;
            NodeYieldLogic        = nodeYieldLogic;
            ImprovementYieldLogic = improvementYieldLogic;
            BuildingYieldLogic    = buildingYieldLogic;
        }
 public MapGenerator(
     IMapGenerationConfig config, ICivilizationFactory civFactory, IHexGrid grid,
     IOceanGenerator oceanGenerator, IGridTraversalLogic gridTraversalLogic,
     IStartingUnitPlacementLogic startingUnitPlacementLogic, IPlayerFactory playerFactory,
     IGridPartitionLogic gridPartitionLogic, IWaterRationalizer waterRationalizer,
     IHomelandGenerator homelandGenerator, ITemplateSelectionLogic templateSelectionLogic,
     ICellClimateLogic cellClimateLogic, ISectionSubdivisionLogic subdivisionLogic,
     ICivilizationConfig civConfig, IBrainPile brainPile, IMapComposer mapComposer,
     [Inject(Id = "Coroutine Invoker")] MonoBehaviour coroutineInvoker
     )
 {
     Config                     = config;
     CivFactory                 = civFactory;
     Grid                       = grid;
     OceanGenerator             = oceanGenerator;
     StartingUnitPlacementLogic = startingUnitPlacementLogic;
     PlayerFactory              = playerFactory;
     GridPartitionLogic         = gridPartitionLogic;
     WaterRationalizer          = waterRationalizer;
     HomelandGenerator          = homelandGenerator;
     TemplateSelectionLogic     = templateSelectionLogic;
     CellClimateLogic           = cellClimateLogic;
     SubdivisionLogic           = subdivisionLogic;
     CivConfig                  = civConfig;
     BrainPile                  = brainPile;
     MapComposer                = mapComposer;
     CoroutineInvoker           = coroutineInvoker;
 }
 public SocialPolicyCostLogic(
     ISocialPolicyCanon policyCanon, ICivilizationConfig civConfig,
     IPossessionRelationship <ICivilization, ICity> cityPossessionCanon
     )
 {
     PolicyCanon         = policyCanon;
     CivConfig           = civConfig;
     CityPossessionCanon = cityPossessionCanon;
 }
        public GreatPersonCanon(
            ICivilizationConfig civConfig, IUnitConfig unitConfig,
            CivilizationSignals civSignals
            )
        {
            CivConfig  = civConfig;
            UnitConfig = unitConfig;

            civSignals.GreatPersonBorn.Subscribe(OnGreatPersonBorn);
        }
Beispiel #5
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;
 }
 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 GoldenAgeCanon(
            IPossessionRelationship <ICivilization, ICity> cityPossessionCanon,
            ICivilizationConfig civConfig, CivilizationSignals civSignals,
            ICivModifiers civModifiers
            )
        {
            CityPossessionCanon = cityPossessionCanon;
            CivConfig           = civConfig;
            CivSignals          = civSignals;
            CivModifiers        = civModifiers;

            CivSignals.CivBeingDestroyed.Subscribe(civ => ClearCiv(civ));
        }
        public CivilizationHappinessLogic(
            ICivilizationConfig config, IFreeResourcesLogic freeResourcesLogic,
            IPossessionRelationship <ICivilization, ICity> cityPossessionCanon,
            ICityHappinessLogic cityHappinessLogic,
            [Inject(Id = "Available Resources")] IEnumerable <IResourceDefinition> availableResources
            )
        {
            Config              = config;
            FreeResourcesLogic  = freeResourcesLogic;
            CityPossessionCanon = cityPossessionCanon;
            CityHappinessLogic  = cityHappinessLogic;

            AvailableLuxuries = availableResources.Where(resource => resource.Type == ResourceType.Luxury).ToList();
        }
        public CivDefeatExecutor(
            ICivilizationConfig civConfig, ICanBuildCityLogic canBuildCityLogic,
            IPossessionRelationship <ICivilization, ICity> cityPossessionCanon,
            IPossessionRelationship <ICivilization, IUnit> unitPossessionCanon,
            CivilizationSignals civSignals
            )
        {
            CivConfig           = civConfig;
            CanBuildCityLogic   = canBuildCityLogic;
            CityPossessionCanon = cityPossessionCanon;
            UnitPossessionCanon = unitPossessionCanon;
            CivSignals          = civSignals;

            CivSignals.CivLostUnit.Subscribe(OnLostUnit);
            CivSignals.CivLostCity.Subscribe(OnLostCity);

            CivSignals.NewCivilizationCreated.Subscribe(OnNewCivCreated);
        }
 public CombatInfoLogic(
     IUnitConfig config, IRiverCanon riverCanon,
     IImprovementLocationCanon improvementLocationCanon,
     IPossessionRelationship <ICivilization, IUnit> unitPossessionCanon,
     ICivilizationHappinessLogic civilizationHappinessLogic,
     ICivilizationConfig civConfig, IUnitFortificationLogic fortificationLogic,
     ICombatAuraLogic combatAuraLogic, ICityCombatModifierLogic cityCombatModifierLogic
     )
 {
     UnitConfig = config;
     RiverCanon = riverCanon;
     ImprovementLocationCanon   = improvementLocationCanon;
     UnitPossessionCanon        = unitPossessionCanon;
     CivilizationHappinessLogic = civilizationHappinessLogic;
     CivConfig               = civConfig;
     FortificationLogic      = fortificationLogic;
     CombatAuraLogic         = combatAuraLogic;
     CityCombatModifierLogic = cityCombatModifierLogic;
 }
Beispiel #11
0
        public void InjectDependencies(
            UIStateMachineBrain brain, IHexGrid grid, IMapComposer mapComposer,
            ICivilizationFactory civFactory, IPlayerFactory playerFactory,
            IVisibilityResponder visibilityResponder, IVisibilityCanon visibilityCanon,
            IExplorationCanon explorationCanon, List <IPlayModeSensitiveElement> playModeSensitiveElements,
            ICivilizationConfig civConfig, IBrainPile brainPile, IUnitMapIconManager unitMapIconManager

            )
        {
            Brain                     = brain;
            Grid                      = grid;
            MapComposer               = mapComposer;
            CivFactory                = civFactory;
            PlayerFactory             = playerFactory;
            VisibilityResponder       = visibilityResponder;
            VisibilityCanon           = visibilityCanon;
            ExplorationCanon          = explorationCanon;
            PlayModeSensitiveElements = playModeSensitiveElements;
            CivConfig                 = civConfig;
            BrainPile                 = brainPile;
            UnitMapIconManager        = unitMapIconManager;
        }
 public FreeUnitsLogic(ICivilizationConfig civConfig)
 {
     CivConfig = civConfig;
 }