Ejemplo n.º 1
0
 void FixedUpdate()
 {
     if (LodMan != null && LodMan.Observer != null && _frameCnt != Time.frameCount && VFVoxelTerrain.bChunkColliderRebuilding)               //water is low prior
     {
         _frameCnt = Time.frameCount;
         Vector3 posCurrent = LodMan.Observer.position;
         int     cx         = ((int)posCurrent.x) >> VoxelTerrainConstants._shift;
         int     cy         = ((int)posCurrent.y) >> VoxelTerrainConstants._shift;
         int     cz         = ((int)posCurrent.z) >> VoxelTerrainConstants._shift;
         int     nOffset    = VFVoxelTerrain.OrderedOffsetList.Count;
         for (int n = 0; n < nOffset; n++)
         {
             IntVector3       vecOffset = VFVoxelTerrain.OrderedOffsetList[n];
             VFVoxelChunkData chunk     = _voxels.readChunk(vecOffset.x + cx, vecOffset.y + cy, vecOffset.z + cz);
             VFVoxelChunkGo   vfgo      = VFVoxelTerrain.GenOneCollider(chunk);
             if (null != vfgo)
             {
                 vfgo.OnColliderReady();
                 break;
             }
         }
     }
 }