There would be another potential way of doing it, but other experienced users will hit me for telling you this way because its not meant to be missused for lazyness:
Try - Catch - throw
With that you could test all executions on the "highest" level and when you want the object to be destroyed the same moment due to some reason, you could simply throw the needed signal and return when you catch that to leave the "highest level method" within the object which will take care that it isn't referenced anymore.
but forget that I mentioned this method, ok? ;-)
Try - Catch - throw
With that you could test all executions on the "highest" level and when you want the object to be destroyed the same moment due to some reason, you could simply throw the needed signal and return when you catch that to leave the "highest level method" within the object which will take care that it isn't referenced anymore.
but forget that I mentioned this method, ok? ;-)