Example #1
0
        public void CheckZone(Object Obj)
        {
            Zone_Info Info = GetZone(Obj.XOffset, Obj.YOffset);

            if (Info != null && Info != Obj.Zone.Info)
            {
                AddObject(Obj, Info.ZoneId);
            }

            CellMgr CurCell = Obj._Cell;
            CellMgr NewCell = GetCell(Obj.XOffset, Obj.YOffset);

            if (NewCell != null && NewCell != CurCell)
            {
                if (CurCell != null) // Si l'objet est sur un cell, on le supprime
                {
                    CurCell.RemoveObject(Obj);
                }

                NewCell.AddObject(Obj); // On l'ajoute dans le nouveau cell
            }
        }
Example #2
0
        public ushort CheckZone(Object obj)
        {
            Zone_Info info = GetZone(obj.XOffset, obj.YOffset);

            if (info != null && info != obj.Zone.Info)
            {
                AddObject(obj, info.ZoneId);
            }

            CellMgr curCell = obj._Cell;
            CellMgr newCell = GetCell(obj.XOffset, obj.YOffset);

            if (newCell == null || newCell == curCell)
            {
                return(info?.ZoneId ?? 0);
            }

            curCell?.RemoveObject(obj);
            newCell.AddObject(obj); // On l'ajoute dans le nouveau cell

            return(info?.ZoneId ?? 0);
        }