public void Dispose() { if (AreaFile != null) { AreaFile.Dispose(); } AreaFile = null; mAsyncLoaded = false; var vertexBuffer = mVertexBuffer; mVertexBuffer = null; WorldFrame.Instance.Dispatcher.BeginInvoke(() => { if (vertexBuffer != null) { vertexBuffer.Dispose(); } }); for (var i = 0; i < 256; ++i) { if (mChunks[i] == null) { continue; } mChunks[i].Dispose(); mChunks[i] = null; } }
public void AsyncLoaded(IO.Files.Terrain.MapArea area) { AreaFile = area; if (AreaFile.IsValid == false) { return; } for (var i = 0; i < 256; ++i) { var chunk = new MapChunkRender(); chunk.OnAsyncLoad(area.GetChunk(i), this); mChunks[i] = chunk; } mBoundingBox = area.BoundingBox; mModelBox = area.ModelBox; mAsyncLoaded = true; }
private void Dispose(bool disposing) { if (mChunks != null) { for (var i = 0; i < 256; ++i) { if (mChunks[i] == null) { continue; } mChunks[i].Dispose(); mChunks[i] = null; } mChunks = null; } if (AreaFile != null) { AreaFile.Dispose(); AreaFile = null; } mAsyncLoaded = false; if (mVertexBuffer != null) { var vertexBuffer = mVertexBuffer; WorldFrame.Instance.Dispatcher.BeginInvoke(() => { if (vertexBuffer != null) { vertexBuffer.Dispose(); } }); mVertexBuffer = null; } }
public void Dispose() { if(AreaFile != null) AreaFile.Dispose(); AreaFile = null; mAsyncLoaded = false; var vertexBuffer = mVertexBuffer; mVertexBuffer = null; WorldFrame.Instance.Dispatcher.BeginInvoke(() => { if (vertexBuffer != null) vertexBuffer.Dispose(); }); for(var i = 0; i < 256; ++i) { if (mChunks[i] == null) continue; mChunks[i].Dispose(); mChunks[i] = null; } }
public void AsyncLoaded(IO.Files.Terrain.MapArea area) { AreaFile = area; if (AreaFile.IsValid == false) return; for(var i = 0; i < 256; ++i) { var chunk = new MapChunkRender(); chunk.OnAsyncLoad(area.GetChunk(i), this); mChunks[i] = chunk; } mBoundingBox = area.BoundingBox; mModelBox = area.ModelBox; mAsyncLoaded = true; }