public void Dispose() { foreach (IPeerListener listener in Listeners.ToArray()) { Unregister(listener); } Listeners.Clear(); }
/// <summary> /// Remove all attached gameobjects from the global listener. /// </summary> public void Clear() { GameObject[] listeners = Listeners.ToArray(); foreach (var listener in listeners) { Remove(listener); } }
public void Receive(Message message) { if (!_isReady) { return; } SynchronizationContext.SetSynchronizationContext(new AsyncSynchronizationContext()); foreach (var listener in Listeners.ToArray()) // need to copy collection so as not to be affectied by a script modifying it { try { listener.Call(message); if (message.Done) { break; } } catch (Exception e) { Logger.Error("Error receiving message", e); } } }