public MarshTriangulator(
     IHexGrid grid, IMapRenderConfig renderConfig
     )
 {
     Grid         = grid;
     RenderConfig = renderConfig;
 }
Example #2
0
 private void InjectDependencies(
     ITerrainAlphamapLogic alphamapLogic, ITerrainHeightLogic heightLogic,
     IMapRenderConfig renderConfig, IWaterTriangulator waterTriangulator,
     IHexFeatureManager hexFeatureManager, ICultureTriangulator cultureTriangulator, IHexCellShaderData shaderData,
     DiContainer container, IHexMeshFactory hexMeshFactory, IRoadTriangulator roadTriangulator,
     IMarshTriangulator marshTriangulator, IOasisTriangulator oasisTriangulator,
     ITerrainBaker terrainBaker, IOrientationBaker orientationBaker, IGeometry2D geometry2D,
     IPointOrientationLogic pointOrientationLogic, IFullMapRefresher fullMapRefresher,
     [Inject(Id = "Feature Container")] Transform featureContainer, MapRenderingSignals mapRenderingSignals,
     IVisibilityResponder visibilityResponder
     )
 {
     AlphamapLogic         = alphamapLogic;
     HeightLogic           = heightLogic;
     RenderConfig          = renderConfig;
     WaterTriangulator     = waterTriangulator;
     HexFeatureManager     = hexFeatureManager;
     CultureTriangulator   = cultureTriangulator;
     ShaderData            = shaderData;
     HexMeshFactory        = hexMeshFactory;
     RoadTriangulator      = roadTriangulator;
     MarshTriangulator     = marshTriangulator;
     OasisTriangulator     = oasisTriangulator;
     TerrainBaker          = terrainBaker;
     OrientationBaker      = orientationBaker;
     Geometry2D            = geometry2D;
     PointOrientationLogic = pointOrientationLogic;
     FullMapRefresher      = fullMapRefresher;
     FeatureContainer      = featureContainer;
     MapRenderingSignals   = mapRenderingSignals;
     VisibilityResponder   = visibilityResponder;
 }
 public TerrainMixingLogic(
     IMapRenderConfig renderConfig, IGeometry2D geometry2D
     )
 {
     RenderConfig = renderConfig;
     Geometry2D   = geometry2D;
 }
 public CellAlphamapLogic(
     IMapRenderConfig renderConfig, IImprovementLocationCanon improvementLocationCanon
     )
 {
     RenderConfig             = renderConfig;
     ImprovementLocationCanon = improvementLocationCanon;
 }
Example #5
0
 public TerrainHeightLogic(
     ICellHeightmapLogic cellHeightmapLogic, IMapRenderConfig renderConfig
     )
 {
     CellHeightmapLogic = cellHeightmapLogic;
     RenderConfig       = renderConfig;
 }
Example #6
0
 public TerrainAlphamapLogic(
     IMapRenderConfig renderConfig, ICellAlphamapLogic cellAlphamapLogic
     )
 {
     RenderConfig      = renderConfig;
     CellAlphamapLogic = cellAlphamapLogic;
 }
Example #7
0
 public RiverSplineBuilder(
     IMapRenderConfig renderConfig, IRiverAssemblyCanon riverAssemblyCanon
     )
 {
     RenderConfig       = renderConfig;
     RiverAssemblyCanon = riverAssemblyCanon;
 }
        private void InjectDependencies(IMapRenderConfig renderConfig, ITerrainBakeConfig terrainBakeConfig)
        {
            RenderConfig      = renderConfig;
            TerrainBakeConfig = terrainBakeConfig;

            HighResRenderTexture   = BuildRenderTexture(TerrainBakeConfig.BakeTextureDimensionsHighRes);
            MediumResRenderTexture = BuildRenderTexture(TerrainBakeConfig.BakeTextureDimensionsMediumRes);
            LowResRenderTexture    = BuildRenderTexture(TerrainBakeConfig.BakeTextureDimensionsLowRes);

            float cameraWidth  = RenderConfig.ChunkWidth + RenderConfig.OuterRadius * 3f;
            float cameraHeight = RenderConfig.ChunkHeight + RenderConfig.OuterRadius * 3f;

            BakingCamera.orthographic     = true;
            BakingCamera.orthographicSize = cameraHeight / 2f;
            BakingCamera.aspect           = cameraWidth / cameraHeight;

            BakingCamera.enabled = false;

            Vector3 localPos = transform.localPosition;

            localPos.x = RenderConfig.ChunkWidth / 2f;
            localPos.z = RenderConfig.ChunkHeight / 2f;

            transform.localPosition = localPos;
        }
Example #9
0
 public HillsHeightmapLogic(
     IMapRenderConfig renderConfig, INoiseGenerator noiseGenerator,
     IFlatlandsHeightmapLogic flatlandsHeightmapLogic
     )
 {
     RenderConfig            = renderConfig;
     NoiseGenerator          = noiseGenerator;
     FlatlandsHeightmapLogic = flatlandsHeightmapLogic;
 }
 public CellHeightmapLogic(
     IMapRenderConfig renderConfig, IFlatlandsHeightmapLogic flatlandsHeightmapLogic,
     IHillsHeightmapLogic hillsHeightmapLogic, IMountainHeightmapLogic mountainHeightmapLogic
     )
 {
     RenderConfig            = renderConfig;
     FlatlandsHeightmapLogic = flatlandsHeightmapLogic;
     HillsHeightmapLogic     = hillsHeightmapLogic;
     MountainHeightmapLogic  = mountainHeightmapLogic;
 }
 public HexCellShaderData(
     IVisibilityCanon visibilityCanon, IExplorationCanon explorationCanon, IMapRenderConfig renderConfig,
     [Inject(Id = "Coroutine Invoker")] MonoBehaviour coroutineInvoker
     )
 {
     VisibilityCanon  = visibilityCanon;
     ExplorationCanon = explorationCanon;
     RenderConfig     = renderConfig;
     CoroutineInvoker = coroutineInvoker;
 }
 public NonRiverContourBuilder(
     IHexGrid grid, IRiverCanon riverCanon, ICellEdgeContourCanon cellEdgeContourCanon,
     IMapRenderConfig renderConfig
     )
 {
     Grid                 = grid;
     RiverCanon           = riverCanon;
     CellEdgeContourCanon = cellEdgeContourCanon;
     RenderConfig         = renderConfig;
 }
Example #13
0
 public void InjectDependencies(
     IRiverCanon riverCanon, IHexGrid grid, HexCellSignals cellSignals,
     IMapRenderConfig renderConfig
     )
 {
     RiverCanon   = riverCanon;
     Grid         = grid;
     CellSignals  = cellSignals;
     RenderConfig = renderConfig;
 }
 private void InjectDependencies(
     IRiverSplineBuilder riverSplineBuilder, ICellEdgeContourCanon cellEdgeContourCanon,
     IHexGrid grid, IMapRenderConfig renderConfig
     )
 {
     RiverSplineBuilder   = riverSplineBuilder;
     CellEdgeContourCanon = cellEdgeContourCanon;
     Grid         = grid;
     RenderConfig = renderConfig;
 }
Example #15
0
 public RiverSectionCanon(
     IHexGrid grid, IMapRenderConfig renderConfig, IRiverCanon riverCanon,
     ICellEdgeContourCanon cellEdgeContourCanon
     )
 {
     Grid                 = grid;
     RenderConfig         = renderConfig;
     RiverCanon           = riverCanon;
     CellEdgeContourCanon = cellEdgeContourCanon;
 }
Example #16
0
 public WeightsTriangulator(
     IMapRenderConfig renderConfig, IHexGrid grid, IRiverCanon riverCanon, ICellEdgeContourCanon cellContourCanon,
     IContourTriangulator contourTriangulator
     )
 {
     RenderConfig        = renderConfig;
     Grid                = grid;
     RiverCanon          = riverCanon;
     CellContourCanon    = cellContourCanon;
     ContourTriangulator = contourTriangulator;
 }
Example #17
0
 public CultureTriangulator(
     IHexGrid grid, ICivilizationTerritoryLogic civTerritoryLogic,
     ICellEdgeContourCanon cellEdgeContourCanon, IMapRenderConfig renderConfig,
     IGeometry2D geometry2D
     )
 {
     Grid = grid;
     CivTerritoryLogic    = civTerritoryLogic;
     CellEdgeContourCanon = cellEdgeContourCanon;
     RenderConfig         = renderConfig;
     Geometry2D           = geometry2D;
 }
Example #18
0
        private void InjectDependencies(IMapRenderConfig renderConfig)
        {
            RenderConfig = renderConfig;

            if (RenderTexture != null)
            {
                RenderTexture.Release();
            }

            var textureData = RenderConfig.OrientationTextureData;

            RenderTexture = new RenderTexture(
                width:  textureData.Resolution,
                height: textureData.Resolution,
                depth:  textureData.Depth,
                format: textureData.RenderTextureFormat,
                readWrite: RenderTextureReadWrite.Default
                );

            RenderTexture.filterMode = FilterMode.Point;
            RenderTexture.wrapMode   = TextureWrapMode.Clamp;
            RenderTexture.useMipMap  = false;

            float cameraWidth  = RenderConfig.ChunkWidth;
            float cameraHeight = RenderConfig.ChunkHeight;

            Camera.orthographic     = true;
            Camera.orthographicSize = cameraHeight / 2f;
            Camera.aspect           = cameraWidth / cameraHeight;
            Camera.targetTexture    = RenderTexture;

            Camera.enabled = false;

            Vector3 localPos = transform.localPosition;

            localPos.x = RenderConfig.ChunkWidth / 2f;
            localPos.z = RenderConfig.ChunkHeight / 2f;

            transform.localPosition = localPos;

            texture = new Texture2D(
                RenderConfig.OrientationTextureData.Resolution,
                RenderConfig.OrientationTextureData.Resolution,
                TextureFormat.ARGB32, false
                );

            texture.filterMode = FilterMode.Point;
            texture.wrapMode   = TextureWrapMode.Clamp;
            texture.anisoLevel = 0;
        }
 public RiverTriangulator(
     IMapRenderConfig renderConfig, IRiverSplineBuilder riverSplineBuilder,
     INoiseGenerator noiseGenerator, ICellEdgeContourCanon cellEdgeContourCanon,
     INonRiverContourBuilder nonRiverContourBuilder, IHexGrid grid,
     IRiverContourRationalizer riverContourCuller
     )
 {
     RenderConfig           = renderConfig;
     RiverSplineBuilder     = riverSplineBuilder;
     NoiseGenerator         = noiseGenerator;
     CellEdgeContourCanon   = cellEdgeContourCanon;
     NonRiverContourBuilder = nonRiverContourBuilder;
     Grid = grid;
     RiverContourRationalizer = riverContourCuller;
 }
Example #20
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;
 }
Example #21
0
 public void InjectDependencies(
     IWorkerSlotFactory workerSlotFactory, ICellModificationLogic cellModificationLogic,
     IMapRenderConfig renderConfig, HexCellSignals cellSignals, IGeometry2D geometry2D,
     IHexCellShaderData shaderData, IMemoryPool <MapChunk> mapChunkPool,
     IHexMeshFactory hexMeshFactory
     )
 {
     WorkerSlotFactory     = workerSlotFactory;
     CellModificationLogic = cellModificationLogic;
     RenderConfig          = renderConfig;
     CellSignals           = cellSignals;
     Geometry2D            = geometry2D;
     ShaderData            = shaderData;
     MapChunkPool          = mapChunkPool;
     HexMeshFactory        = hexMeshFactory;
 }
 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;
 }
        public void InjectDependencies(
            IMapRenderConfig renderConfig, IHexMeshFactory hexMeshFactory,
            IOrientationTriangulator orientationTriangulator, IWeightsTriangulator weightsTriangulator,
            DiContainer container
            )
        {
            RenderConfig            = renderConfig;
            HexMeshFactory          = hexMeshFactory;
            OrientationTriangulator = orientationTriangulator;
            WeightsTriangulator     = weightsTriangulator;

            for (int i = 0; i < RenderConfig.MaxParallelTerrainRefreshes; i++)
            {
                FreeBakerTriplets.Enqueue(new Tuple <OrientationSubBaker, OrientationSubBaker, OrientationSubBaker>(
                                              container.InstantiatePrefabForComponent <OrientationSubBaker>(SubBakerPrefab, transform),
                                              container.InstantiatePrefabForComponent <OrientationSubBaker>(SubBakerPrefab, transform),
                                              container.InstantiatePrefabForComponent <OrientationSubBaker>(SubBakerPrefab, transform)
                                              ));
            }
        }
Example #24
0
        private void InjectDependencies(
            IMapRenderConfig renderConfig, IBakedElementsLogic bakedElementsLogic,
            ITerrainBakeConfig terrainBakeConfig, DiContainer container
            )
        {
            RenderConfig       = renderConfig;
            BakedElementsLogic = bakedElementsLogic;
            TerrainBakeConfig  = terrainBakeConfig;

            for (int i = 0; i < RenderConfig.MaxParallelTerrainRefreshes; i++)
            {
                FreeBakerPairs.Enqueue(new Tuple <TerrainSubBaker, TerrainSubBaker>(
                                           container.InstantiatePrefabForComponent <TerrainSubBaker>(SubBakerPrefab, transform),
                                           container.InstantiatePrefabForComponent <TerrainSubBaker>(SubBakerPrefab, transform)
                                           ));
            }

            int highResWidth  = Mathf.RoundToInt(TerrainBakeConfig.BakeTextureDimensionsHighRes.x);
            int highResHeight = Mathf.RoundToInt(TerrainBakeConfig.BakeTextureDimensionsHighRes.y);
        }
 public RoadTriangulator(IMapRenderConfig renderConfig, IHexGrid grid, INoiseGenerator noiseGenerator)
 {
     RenderConfig   = renderConfig;
     Grid           = grid;
     NoiseGenerator = noiseGenerator;
 }
Example #26
0
 public OasisTriangulator(IMapRenderConfig renderConfig, INoiseGenerator noiseGenerator)
 {
     RenderConfig   = renderConfig;
     NoiseGenerator = noiseGenerator;
 }
Example #27
0
        public MapCollisionLogic(IMapRenderConfig renderConfig)
        {
            RenderConfig = renderConfig;

            RaycastOffset = Vector3.up * RenderConfig.TerrainMaxY * 1.5f;
        }
 public FlatlandsHeightmapLogic(IMapRenderConfig renderConfig, INoiseGenerator noiseGenerator)
 {
     RenderConfig   = renderConfig;
     NoiseGenerator = noiseGenerator;
 }
Example #29
0
 public void InjectDependencies(IHexGrid grid, IMapRenderConfig renderConfig)
 {
     Grid         = grid;
     RenderConfig = renderConfig;
 }
Example #30
0
 public WaterTriangulator(IMapRenderConfig renderConfig, IHexGrid grid)
 {
     RenderConfig = renderConfig;
     Grid         = grid;
 }