Exemple #1
0
    /**
     *  @function   GenerateTerrain(행성 이름, 지형 구성정보, 구형 생성 Flag)
     *  @brief      지형을 생성한다.
     */
    public void GenerateTerrain(string planetName, TerrainInfo info, bool isSphere)
    {
        if (info == null)
        {
            return;
        }

        //행성 정보 재구성
        var voxelPlanet = InitVoxelPlanet(planetName);
        var planetInfo  = voxelPlanet.GetComponent <VoxelPlanetInfo>();

        planetInfo.Init(planetName);
        planetInfo.isSphere = isSphere;

        //지형 생성 정보 재구성
        planetInfo.terrainInfo = info.DeepCopy();

        //지형 오브젝트 초기화
        GameObject objTerrain  = InitPlanetObject(voxelPlanet, "Terrain");
        var        compTerrain = objTerrain.AddComponent <VoxelTerrain>();

        compTerrain.planetInfo = planetInfo;

        //청크 생성
        EditorCoroutineRunner.StartEditorCoroutine(compTerrain.BuildChunk());

        SaveCurrentPlanetInfo(voxelPlanet);
    }