public void Remove(IRecieve recieve, Type type) { if (signals.TryGetValue(type.GetHashCode(), out List <IRecieve> cachedSignals)) { cachedSignals.Remove(recieve); } }
public void Add(IRecieve recieve, Type type) { if (signals.TryGetValue(type.GetHashCode(), out List <IRecieve> cachedSignals)) { cachedSignals.Add(recieve); return; } signals.Add(type.GetHashCode(), new List <IRecieve> { recieve }); }
public void Remove(IRecieve recieve, Type type) { List <IRecieve> cachedSignals; Timer.Add(Time.DeltaTime, () => { if (signals.TryGetValue(type.GetHashCode(), out cachedSignals)) { cachedSignals.Remove(recieve); } }); }
public void Add <T>(IRecieve recieve) { List <IRecieve> cachedSignals; if (signals.TryGetValue(typeof(T).GetHashCode(), out cachedSignals)) { cachedSignals.Add(recieve); return; } signals.Add(typeof(T).GetHashCode(), new List <IRecieve> { recieve }); }
public void SignalRemove <T>(IRecieve recieve) { signals.Remove <T>(recieve); }
public void SignalAdd <T>(IRecieve recieve) { signals.Add <T>(recieve); }