Exemplo n.º 1
0
        // XXX: Exceptions
        /// <inherits />
        public bool DeleteRegion(int rx, int rz)
        {
            IRegion r = GetRegion(rx, rz);

            if (r == null)
            {
                return(false);
            }

            RegionKey k = new RegionKey(rx, rz);

            _cache.Remove(k);

            DeleteRegionCore(r);

            try {
                File.Delete(r.GetFilePath());
            }
            catch (Exception e) {
                Console.WriteLine("NOTICE: " + e.Message);
                return(false);
            }

            return(true);
        }
Exemplo n.º 2
0
        /// <inherits />
        public IRegion CreateRegion(int rx, int rz)
        {
            IRegion r = GetRegion(rx, rz);

            if (r == null)
            {
                string fp = "r." + rx + "." + rz + ".mca";
                using (RegionFile rf = CreateRegionFileCore(rx, rz)) {
                }

                r = CreateRegionCore(rx, rz);

                RegionKey k = new RegionKey(rx, rz);
                _cache[k] = r;
            }

            return(r);
        }
Exemplo n.º 3
0
        /// <inherits />
        public IRegion GetRegion(int rx, int rz)
        {
            RegionKey k = new RegionKey(rx, rz);
            IRegion   r;

            try {
                if (_cache.TryGetValue(k, out r) == false)
                {
                    r = CreateRegionCore(rx, rz);
                    _cache.Add(k, r);
                }
                return(r);
            }
            catch (FileNotFoundException) {
                _cache.Add(k, null);
                return(null);
            }
        }