Files
plugin-library/Assets/00.StaryEvo/Runtime/Tool/EventKit/EventTrigger/Mono/OnBecameInvisibleEventTrigger.cs
2025-03-31 11:16:52 +08:00

32 lines
977 B
C#

using System;
using UnityEngine;
using Stary.Evo;
namespace Stary.Evo
{
public class OnBecameInvisibleEventTrigger : MonoBehaviour
{
public readonly EasyEvent OnBecameInvisibleEvent = new EasyEvent();
private void OnBecameInvisible()
{
OnBecameInvisibleEvent.Trigger();
}
}
public static class OnBecameInvisibleEventTriggerExtension
{
public static IUnRegister OnBecameInvisibleEvent<T>(this T self, Action onBecameInvisible)
where T : Component
{
return self.GetOrAddComponent<OnBecameInvisibleEventTrigger>().OnBecameInvisibleEvent
.Register(onBecameInvisible);
}
public static IUnRegister OnBecameInvisibleEvent(this GameObject self, Action onBecameInvisible)
{
return self.GetOrAddComponent<OnBecameInvisibleEventTrigger>().OnBecameInvisibleEvent
.Register(onBecameInvisible);
}
}
}