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( IRiverCanon riverCanon, IHexGrid grid, HexCellSignals cellSignals, IMapRenderConfig renderConfig ) { RiverCanon = riverCanon; Grid = grid; CellSignals = cellSignals; RenderConfig = renderConfig; }
public ExplorationCanon( IGameCore gameCore, VisibilitySignals visibilitySignals, HexCellSignals cellSignals ) { GameCore = gameCore; VisibilitySignals = visibilitySignals; CellSignals = cellSignals; CellSignals.MapBeingClearedSignal.Subscribe(unit => Clear()); }
public void InjectDependencies( IResourceNodeFactory resourceNodeFactory, IPossessionRelationship <IHexCell, IResourceNode> nodePositionCanon, [Inject(Id = "Available Resources")] IEnumerable <IResourceDefinition> availableResources, HexCellSignals cellSignals ) { ResourceNodeFactory = resourceNodeFactory; NodePositionCanon = nodePositionCanon; AvailableResources = new List <IResourceDefinition>(availableResources); CellSignals = cellSignals; }
public void CommonInstall() { MockImprovementLocationCanon = new Mock <IImprovementLocationCanon>(); CellSignals = new HexCellSignals(); Container.Bind <IImprovementLocationCanon>().FromInstance(MockImprovementLocationCanon.Object); Container.Bind <HexCellSignals> ().FromInstance(CellSignals); Container.Bind <EncampmentLocationCanon>().AsSingle(); }
public void InjectDependencies( HexCellSignals cellSignals, CitySignals citySignals, IPossessionRelationship <IHexCell, ICity> cityLocationCanon, IPointOrientationLogic pointOrientationLogic ) { CellSignals = cellSignals; CitySignals = citySignals; CityLocationCanon = cityLocationCanon; PointOrientationLogic = pointOrientationLogic; }
public VisibilityCanon( IGameCore gameCore, ITechCanon techCanon, VisibilitySignals visibilitySignals, HexCellSignals cellSignals ) { GameCore = gameCore; TechCanon = techCanon; VisibilitySignals = visibilitySignals; cellSignals.MapBeingClearedSignal.Subscribe(unit => ClearCellVisibility()); }
public void InjectDependencies( UnitEditingPanel unitEditingPanel, UIStateMachineBrain brain, IUnitPositionCanon unitPositionCanon, UnitSignals unitSignals, HexCellSignals cellSignals ) { UnitEditingPanel = unitEditingPanel; Brain = brain; UnitPositionCanon = unitPositionCanon; UnitSignals = unitSignals; CellSignals = cellSignals; }
public CellPossessionCanon( CitySignals citySignals, HexCellSignals cellSignals, IPossessionRelationship <IHexCell, ICity> cityLocationCanon ) { CitySignals = citySignals; CityLocationCanon = cityLocationCanon; citySignals.BeingDestroyed.Subscribe(OnCityBeingDestroyed); cellSignals.MapBeingClearedSignal.Subscribe(unit => Clear(false)); }
public void CommonInstall() { MockCityLocationCanon = new Mock <IPossessionRelationship <IHexCell, ICity> >(); CellSignals = new HexCellSignals(); Container.Bind <CitySignals>().AsSingle(); Container.Bind <HexCellSignals>().FromInstance(CellSignals); Container.Bind <CellPossessionCanon>().AsSingle(); Container.Bind <IPossessionRelationship <IHexCell, ICity> >().FromInstance(MockCityLocationCanon.Object); }
public void InjectDependencies( IImprovementValidityLogic improvementValidityLogic, IImprovementLocationCanon improvementLocationCanon, IImprovementFactory improvementFactory, HexCellSignals cellSignals, [Inject(Id = "Available Improvement Templates")] IEnumerable <IImprovementTemplate> availableImprovementTemplates ) { ImprovementValidityLogic = improvementValidityLogic; ImprovementLocationCanon = improvementLocationCanon; ImprovementFactory = improvementFactory; CellSignals = cellSignals; AvailableImprovementTemplates = availableImprovementTemplates; }
public CityPossessionCanon( CitySignals citySignals, CivilizationSignals civSignals, IPossessionRelationship <ICity, IHexCell> cellPossessionCanon, HexCellSignals cellSignals ) { CivSignals = civSignals; citySignals.BeingDestroyed.Subscribe(OnCityBeingDestroyed); civSignals.CivBeingDestroyed.Subscribe(OnCivilizationBeingDestroyed); cellSignals.MapBeingClearedSignal.Subscribe(unit => Clear(false)); }
public void CommonInstall() { MockGrid = new Mock <IHexGrid>(); MockRiverCornerValidityLogic = new Mock <IRiverCornerValidityLogic>(); CellSignals = new HexCellSignals(); Container.Bind <IHexGrid> ().FromInstance(MockGrid.Object); Container.Bind <IRiverCornerValidityLogic>().FromInstance(MockRiverCornerValidityLogic.Object); Container.Bind <HexCellSignals> ().FromInstance(CellSignals); Container.Bind <RiverCanon>().AsSingle(); }
public void InjectDependencies( ICivilizationFactory civilizationFactory, IUnitFactory unitFactory, HexCellSignals cellSignals, [Inject(Id = "Available Unit Templates")] IEnumerable <IUnitTemplate> availableTemplates, IUnitPositionCanon unitPositionCanon, UnitSignals unitSignals ) { CivilizationFactory = civilizationFactory; UnitFactory = unitFactory; CellSignals = cellSignals; AvailableTemplates = availableTemplates.ToList(); UnitPositionCanon = unitPositionCanon; UnitSignals = unitSignals; }
public void InjectDependencies( IPossessionRelationship <ICity, IHexCell> possessionCanon, CitySignals citySignals, HexCellSignals hexCellSignals, DiContainer container, IBorderExpansionLogic borderExpansionLogic, IPossessionRelationship <ICity, IHexCell> cellPossessionCanon ) { PossessionCanon = possessionCanon; CitySignals = citySignals; HexCellSignals = hexCellSignals; Container = container; BorderExpansionLogic = borderExpansionLogic; CellPossessionCanon = cellPossessionCanon; }
public HexCellSignalLogic(HexCellSignals cellSignals, [Inject(Id = "Coroutine Invoker")] MonoBehaviour coroutineInvoker, [Inject(Id = "Map Tile Hover Delay")] float hoverDelay ) { BeginHoverSubject = new Subject <IHexCell>(); EndHoverSubject = new Subject <IHexCell>(); cellSignals.PointerEnter.Subscribe(OnEnterSignal); cellSignals.PointerExit.Subscribe(OnExitSignal); CoroutineInvoker = coroutineInvoker; HoverDelay = hoverDelay; }
public void CommonInstall() { MockGameCore = new Mock <IGameCore>(); VisibilitySignals = new VisibilitySignals(); CellSignals = new HexCellSignals(); Container.Bind <IGameCore> ().FromInstance(MockGameCore.Object); Container.Bind <VisibilitySignals>().FromInstance(VisibilitySignals); Container.Bind <HexCellSignals> ().FromInstance(CellSignals); Container.Bind <ExplorationCanon>().AsSingle(); }
public void InjectDependencies( ICivilizationFactory civilizationFactory, ICityValidityLogic cityValidityLogic, HexCellSignals cellSignals, CitySignals citySignals, ICityFactory cityFactory, IPossessionRelationship <IHexCell, ICity> cityLocationCanon, IPossessionRelationship <ICivilization, ICity> cityPossessionCanon ) { CivilizationFactory = civilizationFactory; CityValidityLogic = cityValidityLogic; CellSignals = cellSignals; CitySignals = citySignals; CityFactory = cityFactory; CityLocationCanon = cityLocationCanon; CityPossessionCanon = cityPossessionCanon; }
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)); }
public void InjectDependencies( UnitSignals unitSignals, HexCellSignals cellSignals, CitySignals citySignals, IUnitPositionCanon unitPositionCanon, ICombatExecuter combatExecuter, UIStateMachineBrain brain, IPossessionRelationship <IHexCell, ICity> cityLocationCanon, [Inject(Id = "Ranged Attack State Displays")] List <UnitDisplayBase> displaysToManage, [Inject(Id = "Combat Summary Display")] CombatSummaryDisplay combatSummaryDisplay, IHexCellOverlayManager overlayManager ) { UnitSignals = unitSignals; CellSignals = cellSignals; CitySignals = citySignals; UnitPositionCanon = unitPositionCanon; CombatExecuter = combatExecuter; Brain = brain; CityLocationCanon = cityLocationCanon; DisplaysToManage = displaysToManage; CombatSummaryDisplay = combatSummaryDisplay; OverlayManager = overlayManager; }
public void CommonInstall() { AllCities.Clear(); MockHexSimulationConfig = new Mock <IHexMapSimulationConfig>(); MockUnitPossessionCanon = new Mock <IPossessionRelationship <ICivilization, IUnit> >(); MockCityLocationCanon = new Mock <IPossessionRelationship <IHexCell, ICity> >(); MockCityPossessionCanon = new Mock <IPossessionRelationship <ICivilization, ICity> >(); CellSignals = new HexCellSignals(); Container.Bind <IHexMapSimulationConfig> ().FromInstance(MockHexSimulationConfig.Object); Container.Bind <IPossessionRelationship <ICivilization, IUnit> >().FromInstance(MockUnitPossessionCanon.Object); Container.Bind <IPossessionRelationship <IHexCell, ICity> > ().FromInstance(MockCityLocationCanon.Object); Container.Bind <IPossessionRelationship <ICivilization, ICity> >().FromInstance(MockCityPossessionCanon.Object); Container.Bind <HexCellSignals>().FromInstance(CellSignals); Container.Bind <UnitPositionCanon>().AsSingle(); Container.Bind <UnitSignals>().AsSingle(); }
public void InjectDependencies(IHexGrid grid, HexCellSignals cellSignals) { Grid = grid; CellSignals = cellSignals; }