/// <summary> /// Creates a new <see>ChatUser</see>. /// </summary> /// <param name="userName">Specifies the user's fully-qualified username, including possibly the character name, /// name separator (for Diablo 2 characters), and realm namespace qualifier.</param> /// <param name="ping">The user's latency.</param> /// <param name="flags">The user's flags.</param> /// <param name="stats">The user's stats.</param> /// <remarks> /// <para>The user's stats can be determined by passing the username and binary statsring value to /// <see cref="UserStats.Parse">UserStats.Parse</see>.</para> /// </remarks> public ChatUser(string userName, int ping, UserFlags flags, UserStats stats) { m_un = userName; m_ping = ping; m_flags = flags; m_stats = stats; }
/// <summary> /// Creates a new <see>ChatUser</see>. /// </summary> /// <param name="userName">Specifies the user's fully-qualified username, including possibly the character name, /// name separator (for Diablo 2 characters), and realm namespace qualifier.</param> /// <param name="ping">The user's latency.</param> /// <param name="flags">The user's flags.</param> /// <param name="stats">The user's stats.</param> /// <remarks> /// <para>The user's stats can be determined by passing the username and binary statsring value to /// <see cref="UserStats.Parse">UserStats.Parse</see>.</para> /// </remarks> public ChatUser(string userName, int ping, ClassicUserFlags flags, UserStats stats) { Username = userName; Ping = ping; Flags = flags; Stats = stats; }
public string GetImageIdFor(UserFlags flags, UserStats us) { UserFlags[] allFlags = new UserFlags[] { UserFlags.BlizzardRepresentative, UserFlags.BattleNetAdministrator, UserFlags.ChannelOperator, UserFlags.Speaker, UserFlags.SpecialGuest, UserFlags.Squelched, UserFlags.GFOfficial, UserFlags.GFPlayer }; foreach (UserFlags flag in allFlags) { if (TestFlag(flags, flag)) { BniIcon ico = (from icon in m_bni.AllIcons where (icon.UserFlags & flag) == flag select icon).FirstOrDefault(); if (!object.ReferenceEquals(null, ico)) return flag.ToString(); } } return us.Product.ProductCode; }
public Image GetImageFor(UserFlags flags, UserStats stats) { UserFlags[] allFlags = new UserFlags[] { UserFlags.BlizzardRepresentative, UserFlags.BattleNetAdministrator, UserFlags.ChannelOperator, UserFlags.Speaker, UserFlags.SpecialGuest, UserFlags.Squelched, UserFlags.GFOfficial, UserFlags.GFPlayer }; foreach (UserFlags flag in allFlags) { if (TestFlag(flags, flag)) { BniIcon ico = (from icon in m_bni.AllIcons where (icon.UserFlags & flag) == flag select icon).FirstOrDefault(); if (!object.ReferenceEquals(null, ico)) return ico.Image; } } BniIcon img = (from icon in m_bni.AllIcons where icon.SoftwareProductCodes.Contains(stats.Product.ProductCode) select icon).FirstOrDefault(); if (!object.ReferenceEquals(null, img)) return img.Image; return m_fail; }
public string GetImageIdFor(UserFlags flags, UserStats us) { foreach (UserFlags flag in m_flagsToImages.Keys) { if (TestFlag(flag, flags)) { return flag.ToString(); } } string clientBasedImage = us.Product.ProductCode; Warcraft3Stats w3 = us as Warcraft3Stats; if (!object.ReferenceEquals(w3, null)) { if (w3.IconTier == 1) { clientBasedImage = "W3O1"; } else { clientBasedImage = string.Format("{0}{1}{2}", w3.Product == Product.Warcraft3Retail ? "W3" : "FT", w3.IconRace.ToString(), w3.IconTier); } } return clientBasedImage; }
public Image GetImageFor(UserFlags flags, UserStats stats) { foreach (UserFlags flag in m_flagsToImages.Keys) { if (TestFlag(flag, flags)) { return m_flagsToImages[flag]; } } Image clientBasedImage = null; if (m_nonTieredClientImages.ContainsKey(stats.Product.ProductCode)) clientBasedImage = m_nonTieredClientImages[stats.Product.ProductCode]; Warcraft3Stats w3 = stats as Warcraft3Stats; if (!object.ReferenceEquals(w3, null)) { if (w3.IconTier == 1) { clientBasedImage = m_defaultTierIcon; } else { if (m_tieredClientImages.ContainsKey(stats.Product.ProductCode)) { Dictionary<int, Dictionary<char, Image>> tiers = m_tieredClientImages[stats.Product.ProductCode]; if (tiers.ContainsKey(w3.IconTier)) { Dictionary<char, Image> races = tiers[w3.IconTier]; if (WARCRAFT_3_RACES_TO_IDS.ContainsKey(w3.IconRace)) { char race = WARCRAFT_3_RACES_TO_IDS[w3.IconRace]; if (races.ContainsKey(race)) { clientBasedImage = races[race]; } } } } } } if (object.ReferenceEquals(clientBasedImage, null)) clientBasedImage = m_defaultImage; return clientBasedImage; }