示例#1
0
        public ServerMessage SerializeMyHistory(GameClient Session)
        {
            ServerMessage result;

            using (DatabaseClient @class = Essential.GetDatabase().GetClient())
            {
                DataTable       dataTable = @class.ReadDataTable("SELECT * FROM rooms JOIN user_roomvisits ON rooms.Id = user_roomvisits.room_id WHERE user_roomvisits.user_id = '" + Session.GetHabbo().Id + "' ORDER BY entry_timestamp DESC LIMIT 50;");
                List <RoomData> list      = new List <RoomData>();
                List <uint>     list2     = new List <uint>();
                if (dataTable != null)
                {
                    foreach (DataRow dataRow in dataTable.Rows)
                    {
                        RoomData class2 = Essential.GetGame().GetRoomManager().method_17((uint)dataRow["Id"], dataRow);
                        class2.method_1(dataRow);
                        list.Add(class2);
                        list2.Add(class2.Id);
                    }
                }
                ServerMessage Message = new ServerMessage(Outgoing.NavigatorPacket);
                Message.AppendInt32(7);
                Message.AppendStringWithBreak("");
                Message.AppendInt32(list.Count);
                foreach (RoomData current in list)
                {
                    current.Serialize(Message, false, false);
                }
                Message.AppendBoolean(false);
                result = Message;
            }

            return(result);
        }
示例#2
0
        public ServerMessage GetPopularGroups(GameClient Session)
        {
            ServerMessage result;

            using (DatabaseClient @class = Essential.GetDatabase().GetClient())
            {
                DataTable       dataTable = @class.ReadDataTable("SELECT * FROM rooms JOIN groups ON rooms.Id = groups.roomid WHERE groups.roomid > 0 LIMIT 50;");
                List <RoomData> list      = new List <RoomData>();
                List <uint>     list2     = new List <uint>();
                if (dataTable != null)
                {
                    foreach (DataRow dataRow in dataTable.Rows)
                    {
                        RoomData class2 = Essential.GetGame().GetRoomManager().method_17((uint)dataRow["Id"], dataRow);
                        class2.method_1(dataRow);
                        list.Add(class2);
                        list2.Add(class2.Id);
                    }
                }
                ServerMessage Message = new ServerMessage(Outgoing.NavigatorPacket);
                Message.AppendInt32(7);
                Message.AppendStringWithBreak("");
                Message.AppendInt32(list.Count);
                foreach (RoomData current in list)
                {
                    current.Serialize(Message, false, false);
                }
                Message.AppendBoolean(false);
                result = Message;
            }

            return(result);
        }
示例#3
0
 public ServerMessage SerializeRecentRooms(GameClient Session)
 {
     using (DatabaseClient @class = PhoenixEnvironment.GetDatabase().GetClient())
     {
         DataTable       dataTable = @class.ReadDataTable("SELECT * FROM rooms JOIN user_roomvisits ON rooms.Id = user_roomvisits.room_id WHERE user_roomvisits.user_id = '" + Session.GetHabbo().Id + "' ORDER BY entry_timestamp DESC LIMIT 50;");
         List <RoomData> list      = new List <RoomData>();
         List <uint>     list2     = new List <uint>();
         if (dataTable != null)
         {
             foreach (DataRow dataRow in dataTable.Rows)
             {
                 RoomData class2 = PhoenixEnvironment.GetGame().GetRoomManager().FetchRoomData((uint)dataRow["Id"], dataRow);
                 class2.method_1(dataRow);
                 list.Add(class2);
                 list2.Add(class2.Id);
             }
         }
         ServerMessage Message = new ServerMessage(451);
         Message.AppendInt32(0);
         Message.AppendInt32(7);
         Message.AppendStringWithBreak("");
         Message.AppendInt32(list.Count);
         foreach (RoomData current in list)
         {
             current.Serialize(Message, false, false);
         }
         return(Message);
     }
 }
 public RoomData method_17(uint uint_0, DataRow dataRow_0)
 {
     RoomData result;
     if (this.hashtable_0.ContainsKey(uint_0))
     {
         result = (this.hashtable_0[uint_0] as RoomData);
     }
     else
     {
         RoomData @class = new RoomData();
         if (this.method_13(uint_0))
         {
             @class = this.GetRoom(uint_0).Class27_0;
         }
         else
         {
             @class.method_1(dataRow_0);
         }
         if (!this.hashtable_0.ContainsKey(uint_0))
         {
             this.hashtable_0.Add(uint_0, @class);
         }
         result = @class;
     }
     return result;
 }
 public RoomData method_12(uint uint_0)
 {
     RoomData @class = new RoomData();
     RoomData result;
     lock (this.hashtable_0)
     {
         if (this.hashtable_0.ContainsKey(uint_0))
         {
             result = (this.hashtable_0[uint_0] as RoomData);
             return result;
         }
         if (this.method_13(uint_0))
         {
             result = this.GetRoom(uint_0).Class27_0;
             return result;
         }
         DataRow dataRow = null;
         using (DatabaseClient class2 = GoldTree.GetDatabase().GetClient())
         {
             dataRow = class2.ReadDataRow("SELECT * FROM rooms WHERE Id = '" + uint_0 + "' LIMIT 1");
         }
         if (dataRow == null)
         {
             result = null;
             return result;
         }
         @class.method_1(dataRow);
     }
     if (!this.hashtable_0.ContainsKey(uint_0))
     {
         this.hashtable_0.Add(uint_0, @class);
     }
     result = @class;
     return result;
 }