using UnityEngine; namespace Blue { public static class IUnSubscribeExtension { public static void UnSubScribeWhenGameObjectDestroyed(this IUnSubscribe unSubscribe,GameObject gameObject) { var trigger= gameObject.GetComponent(); if (!trigger) { trigger = gameObject.AddComponent(); } trigger.AddUnSubscribe(unSubscribe); } public static void UnSubScribeWhenGameObjectDisabled(this IUnSubscribe unSubscribe, GameObject gameObject) { var trigger = gameObject.GetComponent(); if (!trigger) { trigger = gameObject.AddComponent(); } trigger.AddUnSubscribe(unSubscribe); } } }