public void Unsubscribe(TSceneObject sceneObject) { if (sceneObjects.Remove(sceneObject)) { SubscriberRemoved?.Invoke(sceneObject); } }
public void RemoveSubscriber(ISceneObject sceneObject) { if (subscribers.Remove(sceneObject)) { SubscriberRemoved?.Invoke(sceneObject); } }
public void RemoveSubscriber(IWebSocketConnection webSocketConnection) { if (_subscribers.TryRemove(webSocketConnection.Id, out IWebSocketConnection removedWebSocketConnection)) { SubscriberRemoved?.Invoke(this, removedWebSocketConnection); _log(string.Format("connection {0} removed. Now {1} connections in the room", removedWebSocketConnection.Id, _subscribers.Count)); _subscribersRemoved(); } else { _log(string.Format("connection not removed(not exists). Now {1} connections in the room", webSocketConnection.Id, _subscribers.Count)); } }