public CompositeUnitSignals(UnitSignals signals, IGameCore gameCore,
                                    IPossessionRelationship <ICivilization, IUnit> unitPossessionCanon
                                    )
        {
            GameCore            = gameCore;
            UnitPossessionCanon = unitPossessionCanon;

            ActiveCivUnitClickedSignal = signals.Clicked.Where(ActiveCivUnitFilter);
        }
Ejemplo n.º 2
0
        public UnitResponder(UnitSignals signals, IUnitPositionCanon unitPositionCanon,
                             IPossessionRelationship <ICivilization, IUnit> unitPossessionCanon
                             )
        {
            UnitPositionCanon   = unitPositionCanon;
            UnitPossessionCanon = unitPossessionCanon;

            signals.BeingDestroyed.Subscribe(OnUnitBeingDestroyed);
        }
Ejemplo n.º 3
0
        public void InjectDependencies(
            IUnitConfig config, UnitSignals signals, IUnitPositionCanon positionCanon,
            IHexGrid grid, IPromotionParser promotionParser
            )
        {
            Config          = config;
            Signals         = signals;
            PositionCanon   = positionCanon;
            Grid            = grid;
            PromotionParser = promotionParser;

            signals.GainedNewOwner.Subscribe(OnUnitGainedNewOwner);
        }
Ejemplo n.º 4
0
        public UnitFactory(
            DiContainer container, IUnitPositionCanon unitPositionCanon,
            IPossessionRelationship <ICivilization, IUnit> unitPossessionCanon,
            [Inject(Id = "Unit Container")] Transform unitContainer,
            IUnitConfig unitConfig, UnitSignals signals
            )
        {
            Container           = container;
            UnitPositionCanon   = unitPositionCanon;
            UnitPossessionCanon = unitPossessionCanon;
            UnitContainer       = unitContainer;
            UnitConfig          = unitConfig;
            UnitSignals         = signals;

            signals.BeingDestroyed.Subscribe(OnUnitBeingDestroyed);
        }
Ejemplo n.º 5
0
        public UnitPositionCanon(
            UnitSignals signals, IHexMapSimulationConfig hexSimulationConfig,
            IPossessionRelationship <ICivilization, IUnit> unitPossessionCanon,
            IPossessionRelationship <IHexCell, ICity> cityLocationCanon,
            IPossessionRelationship <ICivilization, ICity> cityPossessionCanon,
            HexCellSignals cellSignals
            )
        {
            Signals             = signals;
            HexSimulationConfig = hexSimulationConfig;
            UnitPossessionCanon = unitPossessionCanon;
            CityLocationCanon   = cityLocationCanon;
            CityPossessionCanon = cityPossessionCanon;

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