Esempio n. 1
0
        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;
            }
        }
Esempio n. 2
0
        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;
        }
Esempio n. 3
0
        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;
            }
        }
Esempio n. 4
0
        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;
            }
        }
Esempio n. 5
0
        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;
        }