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 ResourceBalanceStrategy( IYieldEstimator yieldEstimator, IResourceNodeFactory resourceNodeFactory, IResourceRestrictionLogic resourceRestrictionCanon, ICellScorer cellScorer, ITechCanon techCanon, IStrategicCopiesLogic strategicCopiesLogic, IWeightedRandomSampler <IHexCell> cellRandomSampler, [Inject(Id = "Available Resources")] IEnumerable <IResourceDefinition> availableResources, IWeightedRandomSampler <IResourceDefinition> resourceRandomSampler ) { YieldEstimator = yieldEstimator; ResourceNodeFactory = resourceNodeFactory; ResourceRestrictionCanon = resourceRestrictionCanon; CellScorer = cellScorer; TechCanon = techCanon; StrategicCopiesLogic = strategicCopiesLogic; CellRandomSampler = cellRandomSampler; ResourceRandomSampler = resourceRandomSampler; foreach (var yieldType in EnumUtil.GetValues <YieldType>()) { BonusResourcesWithYield[yieldType] = availableResources.Where( resource => resource.Type == ResourceType.Bonus && YieldEstimator.GetYieldEstimateForResource(resource)[yieldType] > 0f ).ToArray(); } ScoreIncreasingCandidates = availableResources.Where(resource => resource.Type != ResourceType.Luxury).ToList(); }
public void InjectDependencies( List <CivilizationDisplayBase> civilizationDisplays, CoreSignals coreSignals, IGameCore gameCore, UIStateMachineBrain brain, CitySummaryManager citySummaryManager, IPossessionRelationship <IHexCell, ICity> cityLocationCanon, ITechCanon techCanon, IExplorationCanon explorationCanon, VisibilitySignals visibilitySignals, IFreeGreatPeopleCanon freeGreatPeopleCanon, ICameraFocuser cameraFocuser, [Inject(Id = "Free Techs Display")] RectTransform freeTechsDisplay, [Inject(Id = "Play Mode Default Panels")] List <RectTransform> defaultPanels, [Inject(Id = "Free Great People Notification")] RectTransform freeGreatPeopleNotification ) { CivilizationDisplays = civilizationDisplays; CoreSignals = coreSignals; GameCore = gameCore; Brain = brain; CitySummaryManager = citySummaryManager; CityLocationCanon = cityLocationCanon; TechCanon = techCanon; ExplorationCanon = explorationCanon; VisibilitySignals = visibilitySignals; FreeGreatPeopleCanon = freeGreatPeopleCanon; CameraFocuser = cameraFocuser; FreeTechsDisplay = freeTechsDisplay; DefaultPanels = defaultPanels; FreeGreatPeopleNotification = freeGreatPeopleNotification; }
public GainFreeTechAbilityHandler( IPossessionRelationship <ICivilization, IUnit> unitPossessionCanon, ITechCanon techCanon ) { UnitPossessionCanon = unitPossessionCanon; TechCanon = techCanon; }
public UnitUpgradeLogic( [Inject(Id = "All Upgrade Lines")] IEnumerable <IUnitUpgradeLine> allUpgradeLines, ITechCanon techCanon ) { AllUpgradeLines = allUpgradeLines; TechCanon = techCanon; }
public SocialPolicyCanon( ITechCanon techCanon, CivilizationSignals civSignals, [Inject(Id = "Available Policy Trees")] IEnumerable <IPolicyTreeDefinition> availablePolicyTrees ) { TechCanon = techCanon; CivSignals = civSignals; AvailablePolicyTrees = availablePolicyTrees; }
public void InjectDependencies( ITechCanon techCanon, ICivilizationYieldLogic yieldLogic, DiContainer container ) { TechCanon = techCanon; YieldLogic = yieldLogic; Container = container; }
public CellScorer( IYieldEstimator yieldEstimator, IMapScorer mapScorer, ITechCanon techCanon, IPossessionRelationship <IHexCell, IResourceNode> nodeLocationCanon ) { YieldEstimator = yieldEstimator; MapScorer = mapScorer; TechCanon = techCanon; NodeLocationCanon = nodeLocationCanon; }
public HomelandBalancer( IYieldEstimator yieldEstimator, ICellScorer cellScorer, ITechCanon techCanon, IWeightedRandomSampler <IBalanceStrategy> balanceStrategySampler ) { YieldEstimator = yieldEstimator; CellScorer = cellScorer; TechCanon = techCanon; BalanceStrategySampler = balanceStrategySampler; }
public VisibilityCanon( IGameCore gameCore, ITechCanon techCanon, VisibilitySignals visibilitySignals, HexCellSignals cellSignals ) { GameCore = gameCore; TechCanon = techCanon; VisibilitySignals = visibilitySignals; cellSignals.MapBeingClearedSignal.Subscribe(unit => ClearCellVisibility()); }
public BuildingPossessionCanon( CitySignals citySignals, IResourceLockingCanon resourceLockingCanon, IPossessionRelationship <ICivilization, ICity> cityPossessionCanon, ITechCanon techCanon ) { CitySignals = citySignals; ResourceLockingCanon = resourceLockingCanon; CityPossessionCanon = cityPossessionCanon; TechCanon = techCanon; }
public CivilizationFactory( DiContainer container, CivilizationSignals signals, ITechCanon techCanon, [InjectOptional(Id = "Civ Container")] Transform civContainer ) { Container = container; Signals = signals; TechCanon = techCanon; CivContainer = civContainer; signals.CivBeingDestroyed.Subscribe(OnCivilizationBeingDestroyed); }
public HillsBalanceStrategy( IYieldEstimator yieldEstimator, IMapScorer mapScorer, IPossessionRelationship <IHexCell, IResourceNode> nodeLocationCanon, ICellModificationLogic modLogic, ITechCanon techCanon ) { YieldEstimator = yieldEstimator; MapScorer = mapScorer; NodeLocationCanon = nodeLocationCanon; ModLogic = modLogic; TechCanon = techCanon; }
public void InjectDependencies( IMapGenerationConfig config, IEnumerable <IMapTemplate> mapTemplates, IMapGenerator mapGenerator, [Inject(Id = "UI Animator")] Animator uiAnimator, ReadOnlyCollection <ICivilizationTemplate> civTemplates, ITechCanon techCanon ) { MapGenerationConfig = config; MapTemplates = mapTemplates; MapGenerator = mapGenerator; UIAnimator = uiAnimator; ValidCivTemplates = civTemplates.Where(template => !template.IsBarbaric).ToList(); TechCanon = techCanon; }
public LakeBalanceStrategy( IHexGrid grid, IYieldEstimator yieldEstimator, IMapScorer mapScorer, IPossessionRelationship <IHexCell, IResourceNode> nodePositionCanon, ICellModificationLogic modLogic, ITechCanon techCanon ) { Grid = grid; YieldEstimator = yieldEstimator; MapScorer = mapScorer; NodePositionCanon = nodePositionCanon; ModLogic = modLogic; TechCanon = techCanon; }
public ResourceExtractionLogic( IPossessionRelationship <ICivilization, ICity> cityPossessionCanon, IPossessionRelationship <ICity, IHexCell> cellPossessionCanon, IPossessionRelationship <IHexCell, IResourceNode> nodePositionCanon, IImprovementLocationCanon improvementLocationCanon, ITechCanon techCanon ) { CityPossessionCanon = cityPossessionCanon; CellPossessionCanon = cellPossessionCanon; NodePositionCanon = nodePositionCanon; ImprovementLocationCanon = improvementLocationCanon; TechCanon = techCanon; }
public OasisBalanceStrategy( IHexGrid grid, IYieldEstimator yieldEstimator, ITechCanon techCanon, IMapScorer mapScorer, ICellModificationLogic modLogic, IPossessionRelationship <IHexCell, IResourceNode> nodePositionCanon, IWeightedRandomSampler <IHexCell> cellRandomSampler ) { Grid = grid; YieldEstimator = yieldEstimator; TechCanon = techCanon; MapScorer = mapScorer; ModLogic = modLogic; NodePositionCanon = nodePositionCanon; CellRandomSampler = cellRandomSampler; }
public void InjectDependencies( AbilityDisplayMemoryPool abilityDisplayPool, ITechCanon techCanon, IPossessionRelationship <ICivilization, IUnit> unitPossessionCanon, IAbilityExecuter abilityExecuter, UnitSignals unitSignals ) { AbilityDisplayPool = abilityDisplayPool; TechCanon = techCanon; UnitPossessionCanon = unitPossessionCanon; AbilityExecuter = abilityExecuter; unitSignals.StoppedMoving.Subscribe(CheckForRefreshCondition); unitSignals.SetUpForBombardment.Subscribe(CheckForRefreshCondition); }
public void InjectDependencies( ICivilizationYieldLogic yieldLogic, ITechCanon techCanon, CivilizationSignals signals, IGreatPersonCanon greatPersonCanon, IGreatPersonFactory greatPersonFactory, IGoldenAgeCanon goldenAgeCanon, ICivilizationHappinessLogic civHappinessLogic ) { YieldLogic = yieldLogic; TechCanon = techCanon; Signals = signals; GreatPersonCanon = greatPersonCanon; GreatPersonFactory = greatPersonFactory; GoldenAgeCanon = goldenAgeCanon; CivHappinessLogic = civHappinessLogic; TechQueue = new Queue <ITechDefinition>(); }
public void InjectDependencies(IBuildingProductionValidityLogic buildingValidityLogic, IUnitProductionValidityLogic unitValidityLogic, ITechCanon techCanon, IPossessionRelationship <ICivilization, ICity> cityPossessionCanon, IProductionProjectFactory projectFactory, DiContainer container, List <IBuildingTemplate> allBuildingTemplates, IBuildingFactory buildingFactory, CitySignals citySignals ) { BuildingValidityLogic = buildingValidityLogic; UnitValidityLogic = unitValidityLogic; TechCanon = techCanon; CityPossessionCanon = cityPossessionCanon; ProjectFactory = projectFactory; Container = container; AllBuildingTemplates = allBuildingTemplates; BuildingFactory = buildingFactory; CitySignals = citySignals; }
public CivilizationComposer( ICivilizationFactory civilizationFactory, ITechCanon techCanon, ISocialPolicyComposer policyComposer, IExplorationCanon explorationCanon, IHexGrid grid, IFreeBuildingsCanon freeBuildingsCanon, List <IBuildingTemplate> availableBuildings, [Inject(Id = "Available Techs")] List <ITechDefinition> availableTechs, ReadOnlyCollection <ICivilizationTemplate> availableCivTemplates, IGoldenAgeCanon goldenAgeCanon, ICivDiscoveryCanon civDiscoveryCanon ) { CivilizationFactory = civilizationFactory; TechCanon = techCanon; PolicyComposer = policyComposer; ExplorationCanon = explorationCanon; Grid = grid; FreeBuildingsCanon = freeBuildingsCanon; BuildingTemplates = availableBuildings; AvailableTechs = availableTechs; AvailableCivTemplates = availableCivTemplates; GoldenAgeCanon = goldenAgeCanon; CivDiscoveryCanon = civDiscoveryCanon; }
public YieldEstimator( IInherentCellYieldLogic inherentYieldLogic, IPossessionRelationship <IHexCell, IResourceNode> nodeLocationCanon, IResourceNodeYieldLogic nodeYieldLogic, IImprovementYieldLogic improvementYieldLogic, IFreshWaterLogic freshWaterCanon, ICellYieldFromBuildingsLogic yieldFromBuildingsLogic, ITechCanon techCanon, IImprovementValidityLogic improvementValidityLogic, IMapScorer mapScorer ) { InherentYieldLogic = inherentYieldLogic; NodeLocationCanon = nodeLocationCanon; NodeYieldLogic = nodeYieldLogic; ImprovementYieldLogic = improvementYieldLogic; FreshWaterCanon = freshWaterCanon; YieldFromBuildingsLogic = yieldFromBuildingsLogic; TechCanon = techCanon; ImprovementValidityLogic = improvementValidityLogic; MapScorer = mapScorer; }
public void InjectDependencies(ICivilizationYieldLogic yieldLogic, ITechCanon techCanon) { YieldLogic = yieldLogic; TechCanon = techCanon; }
public MapScorer(IMapGenerationConfig config, ITechCanon techCanon) { Config = config; TechCanon = techCanon; }