예제 #1
0
        /// <summary>
        /// Obtiene la clase Habbo mediante el Id de usuario.
        /// </summary>
        /// <param name="userId">Id del usuario</param>
        /// <returns></returns>
        internal static Habbo getHabboCache(uint userId)
        {
            GameClient client = OtanixEnvironment.GetGame().GetClientManager().GetClientByUserID(userId);

            if (client != null && client.GetHabbo() != null)
            {
                if (usersHabboCache.ContainsKey(userId))
                {
                    usersHabboCache.Remove(userId);
                }

                return(client.GetHabbo());
            }

            if (usersHabboCache.ContainsKey(userId))
            {
                return(usersHabboCache[userId]);
            }

            Habbo habbo = UserDataFactory.GetUserDataCache(userId);

            if (habbo != null)
            {
                if (!usersHabboCache.ContainsKey(userId))
                {
                    usersHabboCache.Add(userId, habbo);
                }
            }

            return(habbo);
        }