Пример #1
0
 public CellMgr(RegionMgr mgr, ushort offX, ushort offY)
 {
     Region = mgr;
     X      = offX;
     Y      = offY;
     Spawns = mgr.GetCellSpawn(offX, offY);
 }
Пример #2
0
        public CellSpawns GetCellSpawn(ushort x, ushort y)
        {
            x = (ushort)Math.Min(MaxCellID - 1, x);
            y = (ushort)Math.Min(MaxCellID - 1, y);

            return(_cellSpawns[x, y] ?? (_cellSpawns[x, y] = new CellSpawns(RegionId, x, y)));
        }
        public static CellSpawns GetRegionCell(ushort RegionId, ushort X, ushort Y)
        {
            X = (ushort)Math.Min(RegionMgr.MaxCellID - 1, X);
            Y = (ushort)Math.Min(RegionMgr.MaxCellID - 1, Y);

            if (!_RegionCells.ContainsKey(RegionId))
            {
                _RegionCells.Add(RegionId, new CellSpawns[RegionMgr.MaxCellID, RegionMgr.MaxCellID]);
            }

            if (_RegionCells[RegionId][X, Y] == null)
            {
                CellSpawns Sp = new CellSpawns(RegionId, X, Y);
                _RegionCells[RegionId][X, Y] = Sp;
            }

            return(_RegionCells[RegionId][X, Y]);
        }