コード例 #1
0
        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;
        }
コード例 #2
0
 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;
 }
コード例 #3
0
 public SocialPolicyCostLogic(
     ISocialPolicyCanon policyCanon, ICivilizationConfig civConfig,
     IPossessionRelationship <ICivilization, ICity> cityPossessionCanon
     )
 {
     PolicyCanon         = policyCanon;
     CivConfig           = civConfig;
     CityPossessionCanon = cityPossessionCanon;
 }
コード例 #4
0
        public GreatPersonCanon(
            ICivilizationConfig civConfig, IUnitConfig unitConfig,
            CivilizationSignals civSignals
            )
        {
            CivConfig  = civConfig;
            UnitConfig = unitConfig;

            civSignals.GreatPersonBorn.Subscribe(OnGreatPersonBorn);
        }
コード例 #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;
 }
コード例 #6
0
 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;
 }
コード例 #7
0
        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));
        }
コード例 #8
0
        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();
        }
コード例 #9
0
        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);
        }
コード例 #10
0
 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;
 }
コード例 #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;
        }
コード例 #12
0
 public FreeUnitsLogic(ICivilizationConfig civConfig)
 {
     CivConfig = civConfig;
 }