Esempio n. 1
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;
 }
Esempio n. 2
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;
 }
        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)
                                              ));
            }
        }