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 })); } }