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 CellModificationLogic(
     IRiverCanon riverCanon, IPossessionRelationship <IHexCell, ICity> cityLocationCanon
     )
 {
     RiverCanon        = riverCanon;
     CityLocationCanon = cityLocationCanon;
 }
 public HexCellComposer(
     IHexGrid grid, IRiverCanon riverCanon, ICellModificationLogic cellModificationLogic
     )
 {
     Grid                  = grid;
     RiverCanon            = riverCanon;
     CellModificationLogic = cellModificationLogic;
 }
Beispiel #4
0
 public TerritoryBuildingRestriction(
     IHexGrid grid, IPossessionRelationship <IHexCell, ICity> cityLocationCanon, IRiverCanon riverCanon
     )
 {
     Grid = grid;
     CityLocationCanon = cityLocationCanon;
     RiverCanon        = riverCanon;
 }
Beispiel #5
0
 public ContourTriangulator(
     ICellEdgeContourCanon cellContourCanon, IRiverCanon riverCanon, IHexGrid grid
     )
 {
     CellContourCanon = cellContourCanon;
     RiverCanon       = riverCanon;
     Grid             = grid;
 }
Beispiel #6
0
 public BakedElementsLogic(
     IRiverCanon riverCanon, IImprovementLocationCanon improvementLocationCanon,
     ICivilizationTerritoryLogic civTerritoryLogic
     )
 {
     RiverCanon = riverCanon;
     ImprovementLocationCanon = improvementLocationCanon;
     CivTerritoryLogic        = civTerritoryLogic;
 }
 public OrientationTriangulator(
     ICellEdgeContourCanon cellContourCanon, IRiverCanon riverCanon, IHexGrid grid,
     IContourTriangulator contourTriangulator
     )
 {
     CellContourCanon    = cellContourCanon;
     RiverCanon          = riverCanon;
     Grid                = grid;
     ContourTriangulator = contourTriangulator;
 }
Beispiel #8
0
 public RiverSectionCanon(
     IHexGrid grid, IMapRenderConfig renderConfig, IRiverCanon riverCanon,
     ICellEdgeContourCanon cellEdgeContourCanon
     )
 {
     Grid                 = grid;
     RenderConfig         = renderConfig;
     RiverCanon           = riverCanon;
     CellEdgeContourCanon = cellEdgeContourCanon;
 }
Beispiel #9
0
 public void InjectDependencies(
     IRiverCanon riverCanon, IHexGrid grid, HexCellSignals cellSignals,
     IMapRenderConfig renderConfig
     )
 {
     RiverCanon   = riverCanon;
     Grid         = grid;
     CellSignals  = cellSignals;
     RenderConfig = renderConfig;
 }
 public NonRiverContourBuilder(
     IHexGrid grid, IRiverCanon riverCanon, ICellEdgeContourCanon cellEdgeContourCanon,
     IMapRenderConfig renderConfig
     )
 {
     Grid                 = grid;
     RiverCanon           = riverCanon;
     CellEdgeContourCanon = cellEdgeContourCanon;
     RenderConfig         = renderConfig;
 }
 public RiverContourRationalizer(
     IHexGrid grid, IRiverCanon riverCanon, IRiverSectionCanon riverSectionCanon,
     IRiverAssemblyCanon riverAssemblyCanon, IContourRationalizer contourRationalizer
     )
 {
     Grid                = grid;
     RiverCanon          = riverCanon;
     RiverSectionCanon   = riverSectionCanon;
     RiverAssemblyCanon  = riverAssemblyCanon;
     ContourRationalizer = contourRationalizer;
 }
 public ExpandOceanBalanceStrategy(
     ICellModificationLogic modLogic, IPossessionRelationship <IHexCell, IResourceNode> nodeLocationCanon,
     ICellScorer cellScorer, IRiverCanon riverCanon, IHexGrid grid
     )
 {
     ModLogic          = modLogic;
     NodeLocationCanon = nodeLocationCanon;
     CellScorer        = cellScorer;
     RiverCanon        = riverCanon;
     Grid = grid;
 }
 public VegetationPainter(
     ICellModificationLogic modLogic, IHexGrid grid, IRiverCanon riverCanon,
     IGridTraversalLogic gridTraversalLogic, IWeightedRandomSampler <IHexCell> cellRandomSampler
     )
 {
     ModLogic           = modLogic;
     Grid               = grid;
     RiverCanon         = riverCanon;
     GridTraversalLogic = gridTraversalLogic;
     CellRandomSampler  = cellRandomSampler;
 }
Beispiel #14
0
 public WeightsTriangulator(
     IMapRenderConfig renderConfig, IHexGrid grid, IRiverCanon riverCanon, ICellEdgeContourCanon cellContourCanon,
     IContourTriangulator contourTriangulator
     )
 {
     RenderConfig        = renderConfig;
     Grid                = grid;
     RiverCanon          = riverCanon;
     CellContourCanon    = cellContourCanon;
     ContourTriangulator = contourTriangulator;
 }
Beispiel #15
0
 public RegionGenerator(
     ICellModificationLogic modLogic, IHexGrid grid, IMapGenerationConfig config,
     ICellClimateLogic cellClimateLogic, IWeightedRandomSampler <IHexCell> cellRandomSampler,
     IRiverCanon riverCanon
     )
 {
     ModLogic          = modLogic;
     Grid              = grid;
     Config            = config;
     CellClimateLogic  = cellClimateLogic;
     CellRandomSampler = cellRandomSampler;
     RiverCanon        = riverCanon;
 }
Beispiel #16
0
        public RiverGenerator(
            IHexGrid grid, IRiverCanon riverCanon, ICellModificationLogic modLogic,
            IMapGenerationConfig config, IHexPathfinder hexPathfinder,
            IWeightedRandomSampler <IHexCell> cellRandomSampler

            )
        {
            Grid              = grid;
            RiverCanon        = riverCanon;
            ModLogic          = modLogic;
            Config            = config;
            HexPathfinder     = hexPathfinder;
            CellRandomSampler = cellRandomSampler;
        }
Beispiel #17
0
 public FarmTriangulator(
     IHexGrid grid, IImprovementLocationCanon improvementLocationCanon, INoiseGenerator noiseGenerator,
     IMapRenderConfig renderConfig, IGeometry2D geometry2D, ICellEdgeContourCanon cellContourCanon,
     IRiverCanon riverCanon, MapRenderingSignals mapRenderingSignals
     )
 {
     Grid = grid;
     ImprovementLocationCanon = improvementLocationCanon;
     NoiseGenerator           = noiseGenerator;
     RenderConfig             = renderConfig;
     Geometry2D          = geometry2D;
     CellContourCanon    = cellContourCanon;
     RiverCanon          = riverCanon;
     MapRenderingSignals = mapRenderingSignals;
 }
        public RiverPath(
            IHexCell cell, HexDirection path,
            RiverFlow flow, IRiverCanon riverCanon, IHexGrid grid
            )
        {
            Cell = cell;
            Path = new List <HexDirection>()
            {
                path
            };
            Flow = flow;

            RiverCanon = riverCanon;
            Grid       = grid;
        }
 public CombatInfoLogic(
     IUnitConfig config, IRiverCanon riverCanon,
     IImprovementLocationCanon improvementLocationCanon,
     IPossessionRelationship <ICivilization, IUnit> unitPossessionCanon,
     ICivilizationHappinessLogic civilizationHappinessLogic,
     ICivilizationConfig civConfig, IUnitFortificationLogic fortificationLogic,
     ICombatAuraLogic combatAuraLogic, ICityCombatModifierLogic cityCombatModifierLogic
     )
 {
     UnitConfig = config;
     RiverCanon = riverCanon;
     ImprovementLocationCanon   = improvementLocationCanon;
     UnitPossessionCanon        = unitPossessionCanon;
     CivilizationHappinessLogic = civilizationHappinessLogic;
     CivConfig               = civConfig;
     FortificationLogic      = fortificationLogic;
     CombatAuraLogic         = combatAuraLogic;
     CityCombatModifierLogic = cityCombatModifierLogic;
 }
 public FreshWaterLogic(IHexGrid grid, IRiverCanon riverCanon)
 {
     Grid       = grid;
     RiverCanon = riverCanon;
 }