internal BlockCoord(IBoundedDataBlockCollection _chunk, int _lx, int _ly, int _lz)
 {
     chunk = _chunk;
     lx    = _lx;
     ly    = _ly;
     lz    = _lz;
 }
Beispiel #2
0
 internal BlockCoord (IBoundedDataBlockCollection _chunk, int _lx, int _ly, int _lz)
 {
     chunk = _chunk;
     lx = _lx;
     ly = _ly;
     lz = _lz;
 }
        private BlockCoord TranslateCoord(int x, int y, int z)
        {
            IBoundedDataBlockCollection chunk = GetChunk(x, z);

            int lx = ((x % _xdim) + _xdim) % _xdim;
            int lz = ((z % _zdim) + _zdim) % _zdim;

            return(new BlockCoord(chunk, lx, y, lz));
        }
        public BlockFluid(BlockFluid bl)
        {
            _blockset = bl._blockset;

            _xdim = bl._xdim;
            _ydim = bl._ydim;
            _zdim = bl._zdim;

            _chunks = new Dictionary <ChunkKey, IBoundedDataBlockCollection>();
        }
        public BlockFluid(IBoundedDataBlockCollection blockset)
        {
            _blockset = blockset;

            _xdim = _blockset.XDim;
            _ydim = _blockset.YDim;
            _zdim = _blockset.ZDim;

            _chunks = new Dictionary <ChunkKey, IBoundedDataBlockCollection>();
        }
Beispiel #6
0
        public BlockFluid(BlockFluid bl)
        {
            _blockset = bl._blockset;

            _xdim = bl._xdim;
            _ydim = bl._ydim;
            _zdim = bl._zdim;

            _chunks = new Dictionary<ChunkKey, IBoundedDataBlockCollection>();
        }
Beispiel #7
0
        public BlockFluid(IBoundedDataBlockCollection blockset)
        {
            _blockset = blockset;

            _xdim = _blockset.XDim;
            _ydim = _blockset.YDim;
            _zdim = _blockset.ZDim;

            _chunks = new Dictionary<ChunkKey,IBoundedDataBlockCollection>();
        }
        private IBoundedDataBlockCollection OnResolveNeighbor(int relX, int relY, int relZ)
        {
            if (ResolveNeighbor != null)
            {
                IBoundedDataBlockCollection n = ResolveNeighbor(relX, relY, relZ);

                if (n == null)
                {
                    return(null);
                }

                if (n.XDim != _xdim ||
                    n.YDim != _ydim ||
                    n.ZDim != _zdim)
                {
                    throw new InvalidOperationException("Subscriber returned incompatible IDataBlockCollection");
                }

                return(n);
            }

            return(null);
        }