示例#1
0
        public void setNeighbors(TerrainEntity left, TerrainEntity top, TerrainEntity right, TerrainEntity bottom)
        {
            UnityTerrain left_terrain   = null;
            UnityTerrain top_terrain    = null;
            UnityTerrain right_terrain  = null;
            UnityTerrain bottom_terrain = null;

            if (left != null)
            {
                left_terrain = left.terrain;
            }
            if (top != null)
            {
                top_terrain = top.terrain;
            }
            if (right != null)
            {
                right_terrain = right.terrain;
            }
            if (bottom != null)
            {
                bottom_terrain = bottom.terrain;
            }

            this.terrain.SetNeighbors(left_terrain, top_terrain, right_terrain, bottom_terrain);
        }
示例#2
0
        public static TerrainEntity create(int x, int z, float[,] heights, TerrainConfig config, GameObject parent)
        {
            GameObject  game_object = createGameObject("Terrain-" + x + "-" + z, parent);
            TerrainData tData       = createTerrainData(config);

            tData.SetHeights(0, 0, heights);
            game_object.GetComponent <UnityTerrain>().terrainData    = tData;
            game_object.GetComponent <TerrainCollider>().terrainData = tData;
            game_object.transform.position = new Vector3(x * config.chunk_size, 0f, z * config.chunk_size);

            TerrainEntity entity = new TerrainEntity(
                x,
                z,
                heights,
                config.terrain_height,
                game_object,
                game_object.GetComponent <UnityTerrain>()
                );

            return(entity);
        }
示例#3
0
 public static bool set(TerrainEntity entity)
 {
     file_path = file_path.Replace("{terrain_name}", entity.game_object.name);
     Debug.Log("TerrainEntityRepository.set: file_path: " + file_path);
     return(ConfigFile.save <TerrainEntityCore>(file_path, (TerrainEntityCore)entity));
 }