Esempio n. 1
0
 private void RemoveListenner()
 {
     if (chain <= 0)
     {
         foreach (ListennerTrigger trigger in ToRemove)
         {
             //Debug.Log(this + " Remove " + trigger);
             m_Listenners -= trigger;
         }
         ToRemove.Clear();
     }
 }
Esempio n. 2
0
    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();
    }
Esempio n. 3
0
    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);
            }
        }
    }
Esempio n. 4
0
 public void UnregisterListenner(ListennerTrigger trigger)
 {
     //Debug.Log(this + " Try to Remove " + trigger);
     ToRemove.Add(trigger);
     RemoveListenner();
 }
Esempio n. 5
0
 public void RegisterListenner(ListennerTrigger trigger)
 {
     m_Listenners += trigger;
 }
Esempio n. 6
0
    //[SerializeField]private bool active = false;

    public void OnEnable()
    {
        m_Listenners = null;
        chain        = 0;
    }