/// <summary> /// Merges this group and another group. /// </summary> /// <param name="group">Group to merge with this group.</param> public void MergeGroup(RaidGroup group) { if (!group.Equals(this) && group.TotalPlayers() != 0 && TotalPlayers() != 0 && (group.TotalPlayers() + TotalPlayers()) <= PlayerLimit) { Attending = Attending.Union(group.Attending).ToDictionary(k => k.Key, v => v.Value); Ready = Ready.Union(group.Ready).ToDictionary(k => k.Key, v => v.Value); Invited = Invited.Union(group.Invited).ToDictionary(k => k.Key, v => v.Value); group.Attending.Clear(); group.Ready.Clear(); group.Invited.Clear(); } }
/// <summary> /// Resets all ready users to attending. /// </summary> public void ResetReady() { Attending = Attending.Union(Ready).ToDictionary(k => k.Key, v => v.Value); Ready.Clear(); }