コード例 #1
0
 public WaterChunksMerger(string fileFilter, int fileX = -1, int fileZ = -1)
 {
     _fileLog     = fileFilter + "[" + fileX + "," + fileZ + "]";
     _waterReader = new VFDataReader(VFVoxelTerrain.MapDataPath_Zip + "/water", OnChunkDataLoad, false);
     _terraReader = new VFDataReader(VFVoxelTerrain.MapDataPath_Zip + "/map", OnChunkDataLoad, false);
     River2Voxel.ReadRiverChunksList(ref _riverChunkFileList, fileFilter, fileX, fileZ);
     _chunkPosList = _riverChunkFileList.Keys.Cast <IntVector4>().ToList();
 }
コード例 #2
0
    public void Import(Pathea.PeRecordReader r)
    {
        ApplyQuality(SystemSettingData.Instance.WaterRefraction, SystemSettingData.Instance.WaterDepth);

        SaveLoad = new VFVoxelSave(ArchiveKey, AddtionalReader, AddtionalWriter);
        SaveLoad.Import(r);
        if (s_surfaceChunkData == null)
        {
            InitSufaceChunkData();
        }

#if RIVER_DATA_FILE_TST
        // Load river chunk pos
        River2Voxel.ReadRiverChunksList(ref _riverChunkFileList);
#endif
    }
コード例 #3
0
    public override void OnInspectorGUI()
    {
        if (!riverScript.finalized)
        {
            EditorGUILayout.Separator();
            riverScript.terrainLayer = LayerMaskField("Terrain Layer", riverScript.terrainLayer, true);
            //EditorGUILayout.BeginHorizontal();
            //EditorGUILayout.PrefixLabel("Show handles");
            //riverScript.showHandles = EditorGUILayout.Toggle(riverScript.showHandles);
            //EditorGUILayout.EndHorizontal();
            EditorGUILayout.BeginHorizontal();
            riverScript.riverSmooth = (int)EditorGUILayout.IntSlider("Mesh Smooth", riverScript.riverSmooth, 5, 30);
            EditorGUILayout.EndHorizontal();
            EditorGUILayout.BeginHorizontal();
            riverScript.defRiverDepth = EditorGUILayout.Slider("Def River Depth", riverScript.defRiverDepth, 0f, 10f);
            EditorGUILayout.EndHorizontal();
            EditorGUILayout.BeginHorizontal();
            riverScript.defRiverWidth = EditorGUILayout.Slider("Def River Width", riverScript.defRiverWidth, 0f, 100f);
            EditorGUILayout.EndHorizontal();

            if (riverScript.nodeObjects != null)
            {
                int nNodes = riverScript.nodeObjects.Count;
                for (int i = 0; i <= nNodes; i++)
                {
                    if (DrawRiverNodes(i, nNodes))
                    {
                        break;
                    }
                }
            }
            if (GUI.changed && riverScript.curRiverNodeToPosite < 0)
            {
                EditorUtility.SetDirty(riverScript);
                riverScript.CreateMesh(riverScript.riverSmooth);
            }

            GUILayout.Label("Press r to refresh");
            if (GUILayout.Button("Gen Voxel Data"))
            {
                River2Voxel river2voxel = new River2Voxel();
                river2voxel.GenRiverVoxels(riverScript);
            }
        }
    }