Beispiel #1
0
    protected virtual void OnDestroy()
    {
        if (isRegistered && !isUnregistered)
        {
            RegisteredComponentController._Unregister(this);
            isRegistered   = false;
            isUnregistered = true;
        }
        else
        {
            bool alreadyUnregisteredProperly = !isRegistered && isUnregistered;

            if (!alreadyUnregisteredProperly)   // for poolable objects OnDestroy() can get called multiple times
            {
                Debug.LogWarning("RegisteredComponent: Awake() / OnDestroy() not correctly called. Object: " + name + " isRegistered:" + isRegistered + " isUnregistered:" + isUnregistered);
            }
        }
    }
 protected virtual void OnDestroy()
 {
     if (isRegistered && !isUnregistered)
     {
         RegisteredComponentController._Unregister(this);
         isRegistered   = false;
         isUnregistered = true;
     }
     else if (isRegistered || !isUnregistered)
     {
         Debug.LogWarning(String.Concat(new Object[]
         {
             "RegisteredComponent: Awake() / OnDestroy() not correctly called. Object: ",
             name,
             " isRegistered:",
             isRegistered,
             " isUnregistered:",
             isUnregistered
         }));
     }
 }