public CellClimateLogic(
     IHexGrid grid, IMapGenerationConfig config
     )
 {
     Grid   = grid;
     Config = config;
 }
Ejemplo n.º 2
0
 public CityLineOfSightLogic(
     IHexGrid grid, IPossessionRelationship <ICity, IHexCell> cellPossessionCanon
     )
 {
     Grid = grid;
     CellPossessionCanon = cellPossessionCanon;
 }
Ejemplo n.º 3
0
 public MapGenerator(
     IMapGenerationConfig config, ICivilizationFactory civFactory, IHexGrid grid,
     IOceanGenerator oceanGenerator, IGridTraversalLogic gridTraversalLogic,
     IStartingUnitPlacementLogic startingUnitPlacementLogic, IPlayerFactory playerFactory,
     IGridPartitionLogic gridPartitionLogic, IWaterRationalizer waterRationalizer,
     IHomelandGenerator homelandGenerator, ITemplateSelectionLogic templateSelectionLogic,
     ICellClimateLogic cellClimateLogic, ISectionSubdivisionLogic subdivisionLogic,
     ICivilizationConfig civConfig, IBrainPile brainPile, IMapComposer mapComposer,
     [Inject(Id = "Coroutine Invoker")] MonoBehaviour coroutineInvoker
     )
 {
     Config                     = config;
     CivFactory                 = civFactory;
     Grid                       = grid;
     OceanGenerator             = oceanGenerator;
     StartingUnitPlacementLogic = startingUnitPlacementLogic;
     PlayerFactory              = playerFactory;
     GridPartitionLogic         = gridPartitionLogic;
     WaterRationalizer          = waterRationalizer;
     HomelandGenerator          = homelandGenerator;
     TemplateSelectionLogic     = templateSelectionLogic;
     CellClimateLogic           = cellClimateLogic;
     SubdivisionLogic           = subdivisionLogic;
     CivConfig                  = civConfig;
     BrainPile                  = brainPile;
     MapComposer                = mapComposer;
     CoroutineInvoker           = coroutineInvoker;
 }
 public SectionSubdivisionLogic(
     IHexGrid grid, IWeightedRandomSampler <MapSection> mapSectionRandomSampler
     )
 {
     Grid = grid;
     MapSectionRandomSampler = mapSectionRandomSampler;
 }
Ejemplo n.º 5
0
        public TerrainRefreshResponder(
            IHexGrid grid, IPossessionRelationship <ICity, IHexCell> cellPossessionCanon,
            CitySignals citySignals, CivilizationSignals civSignals, HexCellSignals cellSignals,
            ImprovementSignals improvementSignals, ResourceSignals resourceSignals
            )
        {
            Grid = grid;
            CellPossessionCanon = cellPossessionCanon;

            citySignals.LostCellFromBoundaries.Subscribe(OnCellPossessionChanged);
            citySignals.GainedCellToBoundaries.Subscribe(OnCellPossessionChanged);
            citySignals.CityAddedToLocation.Subscribe(OnCityChangedLocation);
            citySignals.CityRemovedFromLocation.Subscribe(OnCityChangedLocation);

            civSignals.CivGainedCity.Subscribe(OnCityPossessionChanged);
            civSignals.CivLostCity.Subscribe(OnCityPossessionChanged);

            cellSignals.TerrainChanged.Subscribe(OnCellTerrainChanged);
            cellSignals.ShapeChanged.Subscribe(OnCellShapeChanged);
            cellSignals.VegetationChanged.Subscribe(OnCellVegetationChanged);
            cellSignals.FeatureChanged.Subscribe(OnCellFeatureChanged);
            cellSignals.RoadStatusChanged.Subscribe(OnCellRoadStatusChanged);
            cellSignals.GainedRiveredEdge.Subscribe(OnCellRiverChanged);
            cellSignals.LostRiveredEdge.Subscribe(OnCellRiverChanged);
            cellSignals.GainedEncampment.Subscribe(OnCellEncampmentChanged);
            cellSignals.LostEncampment.Subscribe(OnCellEncampmentChanged);

            improvementSignals.AddedToLocation.Subscribe(OnCellImprovementsChanged);
            improvementSignals.RemovedFromLocation.Subscribe(OnCellImprovementsChanged);

            resourceSignals.NodeAddedToLocation.Subscribe(OnCellNodesChanged);
            resourceSignals.NodeRemovedFromLocation.Subscribe(OnCellNodesChanged);
        }
Ejemplo n.º 6
0
        public RiverPath(
            IHexCell cell, HexDirection pathStart, HexDirection pathEnd,
            RiverFlow flow, IRiverCanon riverCanon, IHexGrid grid
            )
        {
            Cell = cell;
            Path = new List <HexDirection>();
            Flow = flow;

            if (flow == RiverFlow.Clockwise)
            {
                for (HexDirection i = pathStart; i != pathEnd; i = i.Next())
                {
                    Path.Add(i);
                }
            }
            else
            {
                for (HexDirection i = pathStart; i != pathEnd; i = i.Previous())
                {
                    Path.Add(i);
                }
            }

            Path.Add(pathEnd);

            RiverCanon = riverCanon;
            Grid       = grid;
        }
 public MarshTriangulator(
     IHexGrid grid, IMapRenderConfig renderConfig
     )
 {
     Grid         = grid;
     RenderConfig = renderConfig;
 }
Ejemplo n.º 8
0
 public BarbarianUtilityLogic(
     IUnitPositionCanon unitPositionCanon, IHexGrid grid, IBarbarianConfig barbarianCOnfig
     )
 {
     UnitPositionCanon = unitPositionCanon;
     Grid            = grid;
     BarbarianConfig = barbarianCOnfig;
 }
Ejemplo n.º 9
0
 public ContourTriangulator(
     ICellEdgeContourCanon cellContourCanon, IRiverCanon riverCanon, IHexGrid grid
     )
 {
     CellContourCanon = cellContourCanon;
     RiverCanon       = riverCanon;
     Grid             = grid;
 }
Ejemplo n.º 10
0
 public TerritoryBuildingRestriction(
     IHexGrid grid, IPossessionRelationship <IHexCell, ICity> cityLocationCanon, IRiverCanon riverCanon
     )
 {
     Grid = grid;
     CityLocationCanon = cityLocationCanon;
     RiverCanon        = riverCanon;
 }
Ejemplo n.º 11
0
 public JungleBalanceStrategy(
     IHexGrid grid, ICellModificationLogic modLogic, ICellScorer cellScorer
     )
 {
     Grid       = grid;
     ModLogic   = modLogic;
     CellScorer = cellScorer;
 }
Ejemplo n.º 12
0
 public HexCellComposer(
     IHexGrid grid, IRiverCanon riverCanon, ICellModificationLogic cellModificationLogic
     )
 {
     Grid                  = grid;
     RiverCanon            = riverCanon;
     CellModificationLogic = cellModificationLogic;
 }
Ejemplo n.º 13
0
 private void InjectDependencies(
     IUnitPositionCanon unitPositionCanon, IHexGrid grid,
     IPossessionRelationship <ICivilization, IUnit> unitPossessionCanon
     )
 {
     UnitPositionCanon = unitPositionCanon;
     Grid = grid;
     UnitPossessionCanon = unitPossessionCanon;
 }
 public BarbarianComposer(
     IEncampmentFactory encampmentFactory, IEncampmentLocationCanon encampmentLocationCanon,
     IHexGrid grid
     )
 {
     EncampmentFactory       = encampmentFactory;
     EncampmentLocationCanon = encampmentLocationCanon;
     Grid = grid;
 }
 public RepairAdjacentShipsAbilityHandler(
     IPossessionRelationship <ICivilization, IUnit> unitPossessionCanon,
     IUnitPositionCanon unitPositionCanon, IHexGrid grid
     )
 {
     UnitPossessionCanon = unitPossessionCanon;
     UnitPositionCanon   = unitPositionCanon;
     Grid = grid;
 }
Ejemplo n.º 16
0
 private void InjectDependencies(
     IHexGrid grid, MapRenderingSignals mapRenderingSignals,
     [Inject(Id = "UI Animator")] Animator uiAnimator
     )
 {
     Grid = grid;
     MapRenderingSignals = mapRenderingSignals;
     UIAnimator          = uiAnimator;
 }
        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 NonRiverContourBuilder(
     IHexGrid grid, IRiverCanon riverCanon, ICellEdgeContourCanon cellEdgeContourCanon,
     IMapRenderConfig renderConfig
     )
 {
     Grid                 = grid;
     RiverCanon           = riverCanon;
     CellEdgeContourCanon = cellEdgeContourCanon;
     RenderConfig         = renderConfig;
 }
 public ImprovementComposer(
     IImprovementFactory improvementFactory, IImprovementLocationCanon improvementLocationCanon, IHexGrid grid,
     [Inject(Id = "Available Improvement Templates")] IEnumerable <IImprovementTemplate> availableImprovementTemplates
     )
 {
     ImprovementFactory       = improvementFactory;
     ImprovementLocationCanon = improvementLocationCanon;
     Grid = grid;
     AvailableImprovementTemplates = availableImprovementTemplates;
 }
Ejemplo n.º 20
0
        public RiverCanon(
            IHexGrid grid, IRiverCornerValidityLogic riverCornerValidityLogic, HexCellSignals cellSignals
            )
        {
            Grid = grid;
            RiverCornerValidityLogic = riverCornerValidityLogic;
            CellSignals = cellSignals;

            cellSignals.MapBeingClearedSignal.Subscribe(unit => Clear());
        }
 public BarbarianBrainWeightLogic(
     IHexGrid grid, IUnitPositionCanon unitPositionCanon, IBarbarianConfig barbarianConfig,
     IUnitStrengthEstimator unitStrengthEstimator
     )
 {
     Grid = grid;
     UnitPositionCanon     = unitPositionCanon;
     BarbarianConfig       = barbarianConfig;
     UnitStrengthEstimator = unitStrengthEstimator;
 }
Ejemplo n.º 22
0
 public void InjectDependencies(
     IRiverCanon riverCanon, IHexGrid grid, HexCellSignals cellSignals,
     IMapRenderConfig renderConfig
     )
 {
     RiverCanon   = riverCanon;
     Grid         = grid;
     CellSignals  = cellSignals;
     RenderConfig = renderConfig;
 }
Ejemplo n.º 23
0
 public RiverSectionCanon(
     IHexGrid grid, IMapRenderConfig renderConfig, IRiverCanon riverCanon,
     ICellEdgeContourCanon cellEdgeContourCanon
     )
 {
     Grid                 = grid;
     RenderConfig         = renderConfig;
     RiverCanon           = riverCanon;
     CellEdgeContourCanon = cellEdgeContourCanon;
 }
Ejemplo n.º 24
0
 public CapitalCityComposer(
     ICivilizationFactory civFactory, ICapitalCityCanon capitalCityCanon,
     IPossessionRelationship <IHexCell, ICity> cityLocationCanon, IHexGrid grid
     )
 {
     CivFactory        = civFactory;
     CapitalCityCanon  = capitalCityCanon;
     CityLocationCanon = cityLocationCanon;
     Grid = grid;
 }
 public OrientationTriangulator(
     ICellEdgeContourCanon cellContourCanon, IRiverCanon riverCanon, IHexGrid grid,
     IContourTriangulator contourTriangulator
     )
 {
     CellContourCanon    = cellContourCanon;
     RiverCanon          = riverCanon;
     Grid                = grid;
     ContourTriangulator = contourTriangulator;
 }
 private void InjectDependencies(
     IRiverSplineBuilder riverSplineBuilder, ICellEdgeContourCanon cellEdgeContourCanon,
     IHexGrid grid, IMapRenderConfig renderConfig
     )
 {
     RiverSplineBuilder   = riverSplineBuilder;
     CellEdgeContourCanon = cellEdgeContourCanon;
     Grid         = grid;
     RenderConfig = renderConfig;
 }
Ejemplo n.º 27
0
 public BarbarianPillageBrain(
     IUnitPositionCanon unitPositionCanon, IHexGrid grid, IBarbarianBrainWeightLogic weightLogic,
     IBarbarianUtilityLogic utilityLogic, DiContainer container
     )
 {
     UnitPositionCanon = unitPositionCanon;
     Grid         = grid;
     WeightLogic  = weightLogic;
     UtilityLogic = utilityLogic;
     Container    = container;
 }
 public RiverContourRationalizer(
     IHexGrid grid, IRiverCanon riverCanon, IRiverSectionCanon riverSectionCanon,
     IRiverAssemblyCanon riverAssemblyCanon, IContourRationalizer contourRationalizer
     )
 {
     Grid                = grid;
     RiverCanon          = riverCanon;
     RiverSectionCanon   = riverSectionCanon;
     RiverAssemblyCanon  = riverAssemblyCanon;
     ContourRationalizer = contourRationalizer;
 }
Ejemplo n.º 29
0
 public CombatAuraLogic(
     IUnitConfig unitConfig, IUnitPositionCanon unitPositionCanon,
     IPossessionRelationship <ICivilization, IUnit> unitPossessionCanon,
     IHexGrid grid
     )
 {
     UnitConfig          = unitConfig;
     UnitPositionCanon   = unitPositionCanon;
     UnitPossessionCanon = unitPossessionCanon;
     Grid = grid;
 }
Ejemplo n.º 30
0
 public FullMapRefresher(
     IFarmTriangulator farmTriangulator, IRiverTriangulator riverTriangulator,
     IHexGrid grid, ITerrainBaker terrainBaker, [Inject(Id = "Coroutine Invoker")] MonoBehaviour coroutineInvoker
     )
 {
     FarmTriangulator  = farmTriangulator;
     RiverTriangulator = riverTriangulator;
     Grid             = grid;
     TerrainBaker     = terrainBaker;
     CoroutineInvoker = coroutineInvoker;
 }