/// <summary> /// Removes the replicated member from any groups it is in /// </summary> /// <param name="Member">The member to remove</param> public void RemoveReplicatedMember(MDReplicatedMember Member) { if (Member.GetReplicatedType() != MDReplicatedType.Interval) { return; } foreach (HashSet <MDReplicatedMember> group in ReplicationGroups) { if (group.Contains(Member)) { group.Remove(Member); break; } } }
/// <summary> /// Adds a replicated member to the group manager /// </summary> /// <param name="Member">The member to add</param> public void AddReplicatedMember(MDReplicatedMember Member) { if (Member.GetReplicatedType() != MDReplicatedType.Interval) { return; } int Group = -1; if (Member.ReplicationGroup != null) { Group = GetReplicationGroupByName(Member.ReplicationGroup); } else { Group = GetGroupWithLeastMembers(); } ReplicationGroups[Group].Add(Member); }