public void Remove(Entity entity) { for (int i = this.datas.Count - 1; i >= 0; i--) { HandlerBroadcastInvokeData data = this.datas[i]; if (data.Entity.Equals(entity)) { this.datas.RemoveAt(i); } } }
public void Add(Entity entity, ICollection <Handler> handlers) { if (handlers.Count != 0) { Collections.Enumerator <Handler> enumerator = Collections.GetEnumerator <Handler>(handlers); while (enumerator.MoveNext()) { Handler current = enumerator.Current; HandlerBroadcastInvokeData item = new HandlerBroadcastInvokeData(current, entity); this.datas.Add(item); } } }
public void Remove(Entity entity, ICollection <Handler> handlers) { if (handlers.Count != 0) { Collections.Enumerator <Handler> enumerator = Collections.GetEnumerator <Handler>(handlers); while (enumerator.MoveNext()) { for (int i = this.datas.Count - 1; i >= 0; i--) { HandlerBroadcastInvokeData data = this.datas[i]; Handler current = enumerator.Current; if (ReferenceEquals(data.Handler, current) && data.Entity.Equals(entity)) { this.datas.RemoveAt(i); } } } } }