Exemplo n.º 1
0
        /// <summary>
        /// Update the stats of the given <see cref="T:WCell.RealmServer.Groups.GroupMember" /> to all
        /// out of range members of this group.
        /// </summary>
        /// <remarks>Method requires Group-synchronization.</remarks>
        /// <param name="member">The <see cref="T:WCell.RealmServer.Groups.GroupMember" /> who needs to send
        /// the update</param>
        internal void UpdateOutOfRangeMembers(GroupMember member)
        {
            if (member.Character == null || member.Group != this)
            {
                return;
            }
            foreach (Character allCharacter in GetAllCharacters())
            {
                if (allCharacter != member.Character && allCharacter != null &&
                    (!allCharacter.IsInUpdateRange(member.Character) &&
                     member.Character.GroupUpdateFlags != GroupUpdateFlags.None))
                {
                    GroupHandler.SendPartyMemberStats(allCharacter.Client, member,
                                                      member.Character.GroupUpdateFlags);
                }
            }

            member.Character.GroupUpdateFlags = GroupUpdateFlags.None;
        }