Пример #1
0
    /**
     *  @brief  생성자, Planet의 Terrain, Clouds 생성정보를 기록
     *  @param  info : planet info, tfTerrain : 지형 오브젝트, tfClouds : 구름 오브젝트
     */
    public SavePlanet(VoxelPlanetInfo info, Transform tfTerrain, Transform tfClouds)
    {
        if (info == null)
        {
            return;
        }

        this.name     = info.name;
        this.isSphere = info.isSphere;

        if (tfTerrain != null)
        {
            this.terrainInfo = info.terrainInfo;
        }

        if (tfClouds != null)
        {
            this.cloudsInfo = info.cloudInfo;
        }

        modifyList = info.modifyList;

        if (info.modifyAreaObject.Count != 0)
        {
            areaObjPath = new List <string>();
            foreach (KeyValuePair <string, GameObject> pair in info.modifyAreaObject)
            {
                areaObjPath.Add(pair.Key);
            }
        }
    }
Пример #2
0
    /**
     *  @function   ModifyArea(변경 정보)
     *  @brief      지정된 영역의 블럭 정보를 변경한다.
     */
    public void ModifyArea(ModifyArea areaInfo)
    {
        var voxelPlanet = VoxelPlanetInfo.GetVoxelPlanet();

        if (voxelPlanet == null)
        {
            return;
        }

        ModifyChunk(voxelPlanet.transform.Find("Terrain"), areaInfo);
        ModifyChunk(voxelPlanet.transform.Find("Clouds"), areaInfo);
    }
Пример #3
0
    /**
     *  @function   InitVoxelPlanet(초기화 할 이름)
     *  @brief      행성을 초기화한다.
     */
    public GameObject InitVoxelPlanet(string planetName)
    {
        var voxelPlanet = VoxelPlanetInfo.GetVoxelPlanet();


        if (voxelPlanet == null)
        {
            voxelPlanet = CreateVoxelPlanet(planetName);
        }
        else
        {
            voxelPlanet.name = planetName;
        }


        return(voxelPlanet);
    }
Пример #4
0
    /**
     *  @brief  Planet 정보 저장
     */
    public void SavePlanet()
    {
        var planet = VoxelPlanetInfo.GetVoxelPlanet();

        if (planet == null)
        {
            return;
        }

        //공용 다이얼로그 호출
        string path = EditorUtility.SaveFilePanel("Save Planet as planet",
                                                  "Assets/MapData", planet.name, "planet");

        if (path.Length == 0)
        {
            return;
        }

        if (planet != null)
        {
            Serialization.SaveVoxelPlanet(planet, path);
        }
    }
Пример #5
0
    /**
     * @brief  Planet Object 구면화
     */
    public void ConvertToPlanet()
    {
        var voxelPlanet = VoxelPlanetInfo.GetVoxelPlanet();

        if (voxelPlanet == null)
        {
            return;
        }

        var planetInfo = voxelPlanet.GetComponent <VoxelPlanetInfo>();

        planetInfo.isSphere = !planetInfo.isSphere;

        if (voxelPlanet.transform.Find("Terrain"))
        {
            GenerateTerrain(voxelPlanet);
        }
        if (voxelPlanet.transform.Find("Clouds"))
        {
            GenerateClouds(voxelPlanet);
        }

        ConvertToObject(planetInfo.isSphere);
    }