Beispiel #1
0
 protected virtual void OnDisable()
 {
     for (int i = 0; i < listeners.Count; i++)
     {
         if (listeners[i] != null)
         {
             TryActivate   -= listeners[i].TryOnActivate;
             TryDeactivate -= listeners[i].TryOnDeactivate;
         }
     }
 }
Beispiel #2
0
    /// <summary>
    /// Used by the ActivatorEditor class to update Listeners references.
    /// Do not call this method outside of the Editor.
    /// </summary>
    public void UpdateListenerReferences()
    {
        ActivatorListener[] allListeners = GameObject.FindObjectsOfType <ActivatorListener>();
        for (int i = 0; i < allListeners.Length; i++)
        {
            if (allListeners[i].activators.Contains(this) && !listeners.Contains(allListeners[i]))
            {
                allListeners[i].activators.Remove(this);
                TryActivate   -= allListeners[i].TryOnActivate;
                TryDeactivate -= allListeners[i].TryOnDeactivate;
            }

            if (listeners.Contains(allListeners[i]) && !allListeners[i].activators.Contains(this))
            {
                allListeners[i].activators.Add(this);
                TryActivate   += allListeners[i].TryOnActivate;
                TryDeactivate += allListeners[i].TryOnDeactivate;
            }
        }
    }