コード例 #1
0
 public void InjectDependencies(
     UIStateMachineBrain brain, IVisibilityCanon visibilityCanon,
     IVisibilityResponder visibilityResponder
     )
 {
     Brain               = brain;
     VisibilityCanon     = visibilityCanon;
     VisibilityResponder = visibilityResponder;
 }
コード例 #2
0
        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());
        }
コード例 #3
0
 public void InjectDependencies(
     IVisibilityCanon visibilityCanon, IExplorationCanon explorationCanon,
     IPlayerFactory playerFactory, IGameCore gameCore
     )
 {
     VisibilityCanon  = visibilityCanon;
     ExplorationCanon = explorationCanon;
     PlayerFactory    = playerFactory;
     GameCore         = gameCore;
 }
コード例 #4
0
 public HexCellShaderData(
     IVisibilityCanon visibilityCanon, IExplorationCanon explorationCanon, IMapRenderConfig renderConfig,
     [Inject(Id = "Coroutine Invoker")] MonoBehaviour coroutineInvoker
     )
 {
     VisibilityCanon  = visibilityCanon;
     ExplorationCanon = explorationCanon;
     RenderConfig     = renderConfig;
     CoroutineInvoker = coroutineInvoker;
 }
コード例 #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;
        }
コード例 #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;
 }
コード例 #7
0
 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;
 }
コード例 #8
0
 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;
 }
コード例 #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;
        }
コード例 #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;
 }
コード例 #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;
 }