示例#1
0
 public NewBuddyRequestComposer(UserCache Habbo)
     : base(ServerPacketHeader.NewBuddyRequestMessageComposer)
 {
     base.WriteInteger(Habbo.Id);
    base.WriteString(Habbo.Username);
    base.WriteString(Habbo.Look);
 }
示例#2
0
        public UserCache GenerateUser(int Id)
        {
            UserCache User = null;

            if (_usersCached.ContainsKey(Id))
                if (TryGetUser(Id, out User))
                    return User;

            GameClient Client = PlusEnvironment.GetGame().GetClientManager().GetClientByUserID(Id);
            if (Client != null)
                if (Client.GetHabbo() != null)
                {
                    User = new UserCache(Id, Client.GetHabbo().Username, Client.GetHabbo().Motto, Client.GetHabbo().Look);
                    _usersCached.TryAdd(Id, User);
                    return User;
                }

            using (IQueryAdapter dbClient = PlusEnvironment.GetDatabaseManager().GetQueryReactor())
            {
                dbClient.SetQuery("SELECT `username`, `motto`, `look` FROM users WHERE id = @id LIMIT 1");
                dbClient.AddParameter("id", Id);

                DataRow dRow = dbClient.getRow();

                if (dRow != null)
                {
                    User = new UserCache(Id, dRow["username"].ToString(), dRow["motto"].ToString(), dRow["look"].ToString());
                    _usersCached.TryAdd(Id, User);
                }

                dRow = null;
            }

            return User;
        }
示例#3
0
 public bool TryGetUser(int Id, out UserCache User)
 {
     return _usersCached.TryGetValue(Id, out User);
 }
示例#4
0
 public bool TryRemoveUser(int Id, out UserCache User)
 {
     return _usersCached.TryRemove(Id, out User);
 }