示例#1
0
        internal List <RoomItem> RemoveAllFurniture(GameClient Session)
        {
            List <RoomItem> ReturnList = new List <RoomItem>();

            foreach (RoomItem Item in mFloorItems.Values.ToArray())
            {
                Item.Interactor.OnRemove(Session, Item);
                ServerMessage Message = new ServerMessage(94);
                Message.AppendRawUInt(Item.Id);
                Message.AppendStringWithBreak("");
                Message.AppendBoolean(false);
                room.SendMessage(Message);

                //mFloorItems.Remove(Item.Id);

                ReturnList.Add(Item);
            }

            foreach (RoomItem Item in mWallItems.Values.ToArray())
            {
                Item.Interactor.OnRemove(Session, Item);
                ServerMessage Message = new ServerMessage(84);
                Message.AppendRawUInt(Item.Id);
                Message.AppendStringWithBreak("");
                Message.AppendBoolean(false);
                room.SendMessage(Message);
                //mWallItems.Remove(Item.Id);

                ReturnList.Add(Item);
            }

            mWallItems.Clear();
            mFloorItems.Clear();

            mRemovedItems.Clear();

            mMovedItems.Clear();
            mAddedItems.Clear();
            mRollers.QueueDelegate(new onCycleDoneDelegate(ClearRollers));

            using (IQueryAdapter dbClient = PiciEnvironment.GetDatabaseManager().getQueryreactor())
            {
                dbClient.runFastQuery("DELETE FROM items_rooms WHERE room_id = " + room.RoomId);
            }

            room.GetGameMap().GenerateMaps();
            room.GetRoomUserManager().UpdateUserStatusses();

            if (room.GotWired())
            {
                room.GetWiredHandler().OnPickall();
            }

            return(ReturnList);
        }
示例#2
0
 internal void Destroy()
 {
     BanzaiTiles.Clear();
     _pucks.Clear();
     Array.Clear(_floorMap, 0, _floorMap.Length);
     _field.Destroy();
     _room       = null;
     BanzaiTiles = null;
     _pucks      = null;
     _floorMap   = null;
     _field      = null;
 }
示例#3
0
        internal void Destroy()
        {
            banzaiTiles.Clear();
            pucks.Clear();
            Array.Clear(floorMap, 0, floorMap.Length);
            field.destroy();

            room        = null;
            banzaiTiles = null;
            pucks       = null;
            floorMap    = null;
            field       = null;
        }
示例#4
0
 internal void Destroy()
 {
     if (banzaiTeleports != null)
     {
         banzaiTeleports.Destroy();
     }
     if (banzaiPyramids != null)
     {
         banzaiPyramids.Clear();
     }
     banzaiPyramids  = null;
     banzaiTeleports = null;
     room            = null;
     rnd             = null;
 }
示例#5
0
 private void ClearRollers()
 {
     mRollers.Clear();
 }