/// <summary> /// Reads the <see cref="GuildInfoMessages.SetGuild"/> message. /// </summary> /// <param name="r">The stream to read the message from.</param> void ReadSetGuild(BitStream r) { _members.Clear(); _onlineMembers.Clear(); InGuild = r.ReadBool(); if (InGuild) { Name = r.ReadString(); Tag = r.ReadString(); var numMembers = r.ReadUShort(); for (var i = 0; i < numMembers; i++) { var v = r.ReadGuildMemberNameRank(null); _members.Add(v); } var onlineMembers = r.ReadUShort(); for (var i = 0; i < onlineMembers; i++) { var name = r.ReadString(); SetOnlineValue(name, true); } _members.Sort(); } OnGuildChanged(); if (GuildChanged != null) GuildChanged.Raise(this, EventArgs.Empty); }