示例#1
0
 public void RebuildMesh()
 {
     if (SurfExtractorsMan.B45BuildSurfExtractor != null)
     {
         foreach (Block45OctNode octNode in _octNodesToBuild)
         {
             SurfExtractorsMan.B45BuildSurfExtractor.AddSurfExtractReq(SurfExtractReqB45.Get(octNode.GetStamp(), octNode, ChunkProcPostGenMesh));
         }
     }
 }
示例#2
0
 public void RebuildMesh()
 {
     if (SurfExtractorsMan.B45BuildSurfExtractor != null)
     {
         for (int i = 0; i < _octNodesToBuild.Count; i++)
         {
             Block45OctNode octNode = _octNodesToBuild [i];
             SurfExtractorsMan.B45BuildSurfExtractor.AddSurfExtractReq(SurfExtractReqB45.Get(octNode.GetStamp(), octNode, ChunkProcPostGenMesh));
         }
     }
 }
示例#3
0
 public void AddOctNode(Block45OctNode octNode)
 {
     if (_lstBlock45Datas == null)
     {
         _lstBlock45Datas       = new List <Block45OctNode>();
         _lstBlock45DatasStatus = new List <int>();
     }
     _lstBlock45Datas.Add(octNode);
     _lstBlock45DatasStatus.Add(Block45OctNodeStatus_Idle);
     if (IsInReq && octNode.VecData != null)
     {
         BuildStep = BuildStep_StartGoCreating;
         _lstBlock45DatasStatus[_lstBlock45DatasStatus.Count - 1] = Block45OctNodeStatus_InBuild;
         _helperProc.SurfExtractor.AddSurfExtractReq(SurfExtractReqB45.Get(octNode.GetStamp(), octNode, _helperProc.ChunkProcPostGenMesh, SurfExtractorsMan.c_vertsCntMax));
     }
 }
示例#4
0
 public void AddToBuildList(Block45OctNode octNode)          // need test
 {
     if (_lstBlock45Datas != null)
     {
         int n = _lstBlock45Datas.Count;
         for (int i = 0; i < n; i++)
         {
             if (_lstBlock45Datas[i] == octNode)
             {
                 _lstBlock45DatasStatus[i] = Block45OctNodeStatus_InBuild;
                 BuildStep = BuildStep_StartGoCreating;
                 break;
             }
         }
     }
     _helperProc.SurfExtractor.AddSurfExtractReq(SurfExtractReqB45.Get(octNode.GetStamp(), octNode, _helperProc.ChunkProcPostGenMesh, SurfExtractorsMan.c_vertsCntMax));
 }
示例#5
0
    private void AddToBuildList()       // Can be called from the main thread
    {
        if (_lstBlock45Datas != null && _lstBlock45Datas.Count > 0)
        {
            int n = _lstBlock45Datas.Count;
            for (int i = 0; i < n; i++)
            {
                if (_lstBlock45Datas[i].VecData != null)
                {
                    BuildStep = BuildStep_StartGoCreating;
                    _lstBlock45DatasStatus[i] = Block45OctNodeStatus_InBuild;
                    _helperProc.SurfExtractor.AddSurfExtractReq(SurfExtractReqB45.Get(_lstBlock45Datas[i].GetStamp(), _lstBlock45Datas[i], _helperProc.ChunkProcPostGenMesh, SurfExtractorsMan.c_vertsCntMax));
                }
            }
        }

        if (BuildStep != BuildStep_StartGoCreating)
        {
            BuildStep = BuildStep_NotInBuild;
            EndUpdateNodeData();
        }
    }