Example #1
0
        private void OpenDimension(int dim)
        {
            string path = Path;

            if (dim == Dimension.DEFAULT)
            {
                path = IO.Path.Combine(path, _REGION_DIR);
            }
            else
            {
                path = IO.Path.Combine(path, "DIM" + dim);
                path = IO.Path.Combine(path, _REGION_DIR);
            }

            if (!Directory.Exists(path))
            {
                Directory.CreateDirectory(path);
            }

            ChunkCache cc = new ChunkCache(_prefCacheSize);

            AnvilRegionManager rm = new AnvilRegionManager(path, cc);
            RegionChunkManager cm = new RegionChunkManager(rm, cc);
            BlockManager       bm = new AnvilBlockManager(cm);

            _regionMgrs[dim] = rm;
            _chunkMgrs[dim]  = cm;
            _blockMgrs[dim]  = bm;

            _caches[dim] = cc;
        }
Example #2
0
 public Enumerator(RegionChunkManager cm)
 {
     _cm   = cm;
     _enum = _cm.RegionManager.GetEnumerator();
     _enum.MoveNext();
     _region = _enum.Current;
 }
Example #3
0
        private void OpenDimension(string dim)
        {
            string path = Path;

            if (String.IsNullOrEmpty(dim))
            {
                path = IO.Path.Combine(path, _REGION_DIR);
            }
            else
            {
                path = IO.Path.Combine(path, dim);
                path = IO.Path.Combine(path, _REGION_DIR);
            }

            if (!Directory.Exists(path))
            {
                Directory.CreateDirectory(path);
            }

            ChunkCache cc = new ChunkCache(_prefCacheSize);

            BetaRegionManager  rm = new BetaRegionManager(path, cc);
            RegionChunkManager cm = new RegionChunkManager(rm, cc);
            BlockManager       bm = new AlphaBlockManager(cm);

            _regionMgrs[dim] = rm;
            _chunkMgrs[dim]  = cm;
            _blockMgrs[dim]  = bm;

            _caches[dim] = cc;
        }
 /// <summary>
 /// Creates a new <see cref="RegionChunkManager"/> instance from another.
 /// </summary>
 /// <param name="cm">A <see cref="RegionChunkManager"/> to get a <see cref="RegionManager"/> and <see cref="ChunkCache"/> from.</param>
 public RegionChunkManager(RegionChunkManager cm)
 {
     _regionMan = cm._regionMan;
     _cache     = cm._cache;
 }