public CityLocationCanon(CitySignals citySignals, HexCellSignals cellSignals)
        {
            CitySignals = citySignals;

            citySignals.BeingDestroyed.Subscribe(OnCityBeingDestroyed);

            cellSignals.MapBeingClearedSignal.Subscribe(unit => Clear(false));
        }
        public CompositeCitySignals(CitySignals signals, IGameCore gameCore,
                                    IPossessionRelationship <ICivilization, ICity> cityPossessionCanon
                                    )
        {
            GameCore            = gameCore;
            CityPossessionCanon = cityPossessionCanon;

            ActiveCivCityClickedSignal = signals.PointerClicked.Where(ActivCivCityFilter);
        }
        public CityCaptureResponder(
            ICityCaptureDisplay cityCaptureDisplay, CitySignals citySignals,
            [Inject(Id = "UI Animator")] Animator uiAnimator
            )
        {
            CityCaptureDisplay = cityCaptureDisplay;
            UIAnimator         = uiAnimator;

            citySignals.CityCaptured.Subscribe(OnCityCaptured);
        }
Esempio n. 4
0
 public void InjectDependencies(
     IPopulationGrowthLogic growthLogic, IProductionLogic productionLogic,
     IYieldGenerationLogic resourceGenerationLogic, IBorderExpansionLogic expansionLogic,
     IPossessionRelationship <ICity, IHexCell> tilePossessionCanon,
     IWorkerDistributionLogic distributionLogic, ICityProductionResolver cityProductionResolver,
     CitySignals signals
     )
 {
     GrowthLogic          = growthLogic;
     ProductionLogic      = productionLogic;
     YieldGenerationLogic = resourceGenerationLogic;
     ExpansionLogic       = expansionLogic;
     TilePossessionCanon  = tilePossessionCanon;
     DistributionLogic    = distributionLogic;
     ProductionResolver   = cityProductionResolver;
     Signals = signals;
 }
Esempio n. 5
0
        public CityFactory(DiContainer container, [Inject(Id = "City Prefab")] GameObject cityPrefab,
                           IPossessionRelationship <ICivilization, ICity> cityPossessionCanon, IHexGrid grid,
                           IPossessionRelationship <ICity, IHexCell> cellPossessionCanon, CitySignals citySignals,
                           IUnitFactory unitFactory, IPossessionRelationship <IHexCell, ICity> cityLocationCanon,
                           ICellModificationLogic cellModificationLogic,
                           [Inject(Id = "City Container")] Transform cityContainer
                           )
        {
            Container           = container;
            CityPrefab          = cityPrefab;
            CityPossessionCanon = cityPossessionCanon;
            Grid = grid;
            CellPossessionCanon   = cellPossessionCanon;
            UnitFactory           = unitFactory;
            CityLocationCanon     = cityLocationCanon;
            CellModificationLogic = cellModificationLogic;
            CityContainer         = cityContainer;

            if (citySignals != null)
            {
                citySignals.BeingDestroyed.Subscribe(OnCityBeingDestroyed);
            }
        }