private void RemoveListenner() { if (chain <= 0) { foreach (ListennerTrigger trigger in ToRemove) { //Debug.Log(this + " Remove " + trigger); m_Listenners -= trigger; } ToRemove.Clear(); } }
public void UnregisterListenner(Unit unit, ListennerTrigger trigger) { List <ListennerTrigger> triggerlist; if (ToRemove.TryGetValue(unit, out triggerlist)) { triggerlist.Add(trigger); } else { triggerlist = new List <ListennerTrigger>(); triggerlist.Add(trigger); ToRemove.Add(unit, triggerlist); } RemoveListenner(); }
public void RegisterListenner(Unit unit, ListennerTrigger newTrigger) { if (m_Listenners.ContainsKey(unit)) { m_Listenners[unit] += newTrigger; } else { ListennerTrigger trigger = null; trigger += newTrigger; m_Listenners.Add(unit, trigger); if (m_UnitDestroyEvent != null) { m_UnitDestroyEvent.RegisterListenner(unit, UnitDestroy); } } }
public void UnregisterListenner(ListennerTrigger trigger) { //Debug.Log(this + " Try to Remove " + trigger); ToRemove.Add(trigger); RemoveListenner(); }
public void RegisterListenner(ListennerTrigger trigger) { m_Listenners += trigger; }
//[SerializeField]private bool active = false; public void OnEnable() { m_Listenners = null; chain = 0; }