/// <summary> /// Removes a given subscriber and unmaps the object's dynamic ID. /// </summary> /// <param name="client">The client to remove.</param> public void RemoveSubscriber(MooNetClient client) { if (!this.Subscribers.Contains(client)) { Logger.Warn("Attempted to remove non-subscriber {0}", client.Connection.RemoteEndPoint.ToString()); return; } // Unmap the object from the client client.UnmapLocalObjectId(this.DynamicId); this.Subscribers.Remove(client); // We don't need to do a notify nor respond to the client with anything since the client will ultimately act // like the object never existed in the first place foreach (var subscriber in this.Subscribers) this.NotifySubscriptionAdded(subscriber); }