Exemple #1
0
 public void InjectDependencies(
     UIStateMachineBrain brain, IVisibilityCanon visibilityCanon,
     IVisibilityResponder visibilityResponder
     )
 {
     Brain               = brain;
     VisibilityCanon     = visibilityCanon;
     VisibilityResponder = visibilityResponder;
 }
        public VisibilityResponder(
            IPossessionRelationship <ICivilization, IUnit> unitPossessionCanon,
            IPossessionRelationship <ICivilization, ICity> cityPossessionCanon,
            IVisibilityCanon visibilityCanon, IExplorationCanon explorationCanon,
            ICityLineOfSightLogic cityLineOfSightLogic,
            IUnitVisibilityLogic unitLineOfSightLogic,
            IUnitFactory unitFactory,
            ICityFactory cityFactory,
            IHexGrid grid,
            [Inject(Id = "Coroutine Invoker")] MonoBehaviour coroutineInvoker,
            IHexCellShaderData hexCellShaderData,
            UnitSignals unitSignals,
            CitySignals citySignals,
            HexCellSignals cellSignals,
            CivilizationSignals civSignals,
            VisibilitySignals visibilitySignals,
            CoreSignals coreSignals,
            MapRenderingSignals mapRenderingSignals
            )
        {
            UnitPossessionCanon  = unitPossessionCanon;
            CityPossessionCanon  = cityPossessionCanon;
            VisibilityCanon      = visibilityCanon;
            ExplorationCanon     = explorationCanon;
            CityLineOfSightLogic = cityLineOfSightLogic;
            UnitLineOfSightLogic = unitLineOfSightLogic;
            UnitFactory          = unitFactory;
            CityFactory          = cityFactory;
            Grid              = grid;
            CoroutineInvoker  = coroutineInvoker;
            HexCellShaderData = hexCellShaderData;

            unitSignals.LeftLocation.Subscribe(OnUnitLeftLocation);
            unitSignals.EnteredLocation.Subscribe(OnUnitEnteredLocation);

            citySignals.LostCellFromBoundaries.Subscribe(OnCityLostCell);
            citySignals.GainedCellToBoundaries.Subscribe(OnCityGainedCell);

            cellSignals.TerrainChanged.Subscribe(data => TryResetCellVisibility());
            cellSignals.ShapeChanged.Subscribe(data => TryResetCellVisibility());
            cellSignals.VegetationChanged.Subscribe(data => TryResetCellVisibility());

            civSignals.CivLosingCity.Subscribe(OnCivLosingCity);
            civSignals.CivGainedCity.Subscribe(OnCivGainedCity);
            civSignals.CivDiscoveredTech.Subscribe(data => TryResetResourceVisibility());
            civSignals.CivUndiscoveredTech.Subscribe(data => TryResetResourceVisibility());

            visibilitySignals.CellVisibilityModeChanged.Subscribe(unit => TryResetCellVisibility());
            visibilitySignals.CellExplorationModeChanged.Subscribe(unit => TryResetCellVisibility());
            visibilitySignals.ResourceVisibilityModeChanged.Subscribe(unit => TryResetResourceVisibility());

            coreSignals.ActivePlayerChanged.Subscribe(OnActivePlayerChanged);

            mapRenderingSignals.MapFinishedLoading.Subscribe(Unit => TryResetCellVisibility());
            mapRenderingSignals.MapFinishedLoading.Subscribe(Unit => TryResetResourceVisibility());
        }
 public void InjectDependencies(
     IVisibilityCanon visibilityCanon, IExplorationCanon explorationCanon,
     IPlayerFactory playerFactory, IGameCore gameCore
     )
 {
     VisibilityCanon  = visibilityCanon;
     ExplorationCanon = explorationCanon;
     PlayerFactory    = playerFactory;
     GameCore         = gameCore;
 }
 public HexCellShaderData(
     IVisibilityCanon visibilityCanon, IExplorationCanon explorationCanon, IMapRenderConfig renderConfig,
     [Inject(Id = "Coroutine Invoker")] MonoBehaviour coroutineInvoker
     )
 {
     VisibilityCanon  = visibilityCanon;
     ExplorationCanon = explorationCanon;
     RenderConfig     = renderConfig;
     CoroutineInvoker = coroutineInvoker;
 }
Exemple #5
0
        public ResourceFeaturePlacer(
            INoiseGenerator noiseGenerator, [Inject(Id = "Feature Container")] Transform featureContainer,
            IFeatureConfig config, IPossessionRelationship <IHexCell, IResourceNode> resourceNodeLocationCanon,
            IVisibilityCanon visibilityCanon

            ) : base(noiseGenerator, featureContainer)
        {
            Config = config;
            ResourceNodeLocationCanon = resourceNodeLocationCanon;
            VisibilityCanon           = visibilityCanon;
        }
Exemple #6
0
 public void InjectDependencies(
     UIStateMachineBrain brain, IMapComposer mapComposer, IVisibilityResponder visibilityResponder,
     IVisibilityCanon visibilityCanon, IExplorationCanon explorationCanon, IGameCore gameCore,
     IUnitMapIconManager unitMapIconManager, List <IPlayModeSensitiveElement> playModeSensitiveElements
     )
 {
     Brain                     = brain;
     MapComposer               = mapComposer;
     VisibilityResponder       = visibilityResponder;
     VisibilityCanon           = visibilityCanon;
     ExplorationCanon          = explorationCanon;
     GameCore                  = gameCore;
     UnitMapIconManager        = unitMapIconManager;
     PlayModeSensitiveElements = playModeSensitiveElements;
 }
 public BarbarianSpawningTools(
     ICivilizationFactory civFactory, IBarbarianConfig barbarianConfig,
     IEncampmentFactory encampmentFactory, IVisibilityCanon visibilityCanon,
     IEncampmentLocationCanon encampmentLocationCanon, IHexGrid grid,
     IRandomizer randomizer
     )
 {
     CivFactory              = civFactory;
     BarbarianConfig         = barbarianConfig;
     EncampmentFactory       = encampmentFactory;
     VisibilityCanon         = visibilityCanon;
     EncampmentLocationCanon = encampmentLocationCanon;
     Grid       = grid;
     Randomizer = randomizer;
 }
 private void InjectDependencies(
     IUnitFactory unitFactory, IUnitPositionCanon unitPositionCanon, UnitMapIcon.Pool iconPool,
     UnitIconSlot.Pool iconSlotPool, IVisibilityCanon visibilityCanon, UnitSignals unitSignals,
     IPossessionRelationship <ICivilization, IUnit> unitPossessionCanon,
     VisibilitySignals visibilitySignals, IMapRenderConfig hexMapRenderConfig
     )
 {
     UnitFactory         = unitFactory;
     UnitPositionCanon   = unitPositionCanon;
     IconPool            = iconPool;
     IconSlotPool        = iconSlotPool;
     VisibilityCanon     = visibilityCanon;
     UnitPossessionCanon = unitPossessionCanon;
     UnitSignals         = unitSignals;
     VisibilitySignals   = visibilitySignals;
     HexMapRenderConfig  = hexMapRenderConfig;
 }
Exemple #9
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;
        }
Exemple #10
0
 public void InjectDependencies(
     IHexCellComposer hexCellComposer,
     ICivilizationComposer civilizationComposer,
     IPlayerComposer playerComposer,
     ICityComposer cityComposer,
     IBuildingComposer buildingComposer,
     IUnitComposer unitComposer,
     IImprovementComposer improvementComposer,
     IResourceComposer resourceComposer,
     IDiplomacyComposer diplomacyComposer,
     ICapitalCityComposer capitalCityComposer,
     IBarbarianComposer barbarianComposer,
     IVisibilityResponder visibilityResponder,
     IVisibilityCanon visibilityCanon,
     ICapitalCitySynchronizer capitalCitySynchronizer,
     List <IPlayModeSensitiveElement> playModeSensitiveElements,
     [Inject(Id = "Coroutine Invoker")] MonoBehaviour coroutineInvoker
     )
 {
     HexCellComposer           = hexCellComposer;
     CivilizationComposer      = civilizationComposer;
     PlayerComposer            = playerComposer;
     CityComposer              = cityComposer;
     BuildingComposer          = buildingComposer;
     UnitComposer              = unitComposer;
     ImprovementComposer       = improvementComposer;
     ResourceComposer          = resourceComposer;
     DiplomacyComposer         = diplomacyComposer;
     CapitalCityComposer       = capitalCityComposer;
     BarbarianComposer         = barbarianComposer;
     VisibilityResponder       = visibilityResponder;
     VisibilityCanon           = visibilityCanon;
     CapitalCitySynchronizer   = capitalCitySynchronizer;
     PlayModeSensitiveElements = playModeSensitiveElements;
     CoroutineInvoker          = coroutineInvoker;
 }
Exemple #11
0
 public void InjectDependencies(
     IHexCellSignalLogic signalLogic,
     IYieldGenerationLogic generationLogic,
     IPossessionRelationship <ICity, IHexCell> cellPossessionCanon,
     IPossessionRelationship <IHexCell, IResourceNode> resourceNodePositionCanon,
     IImprovementLocationCanon improvementLocationCanon,
     ICellYieldLogic cellResourceLogic,
     IGameCore gameCore,
     IVisibilityCanon visibilityCanon,
     IExplorationCanon explorationCanon,
     IEncampmentLocationCanon encampmentLocationCanon
     )
 {
     SignalLogic               = signalLogic;
     GenerationLogic           = generationLogic;
     CellPossessionCanon       = cellPossessionCanon;
     ResourceNodePositionCanon = resourceNodePositionCanon;
     ImprovementLocationCanon  = improvementLocationCanon;
     CellYieldLogic            = cellResourceLogic;
     GameCore                = gameCore;
     VisibilityCanon         = visibilityCanon;
     ExplorationCanon        = explorationCanon;
     EncampmentLocationCanon = encampmentLocationCanon;
 }