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

31 lines
1007 B
C#

using System;
using UnityEngine;
namespace Stary.Evo
{
public class OnCollisionExitEventTrigger : MonoBehaviour
{
public readonly EasyEvent<Collision> OnCollisionExitEvent = new EasyEvent<Collision>();
private void OnCollisionExit(Collision col)
{
OnCollisionExitEvent.Trigger(col);
}
}
public static class OnCollisionExitEventTriggerExtension
{
public static IUnRegister OnCollisionExitEvent<T>(this T self, Action<Collision> onCollisionExit)
where T : Component
{
return self.GetOrAddComponent<OnCollisionExitEventTrigger>().OnCollisionExitEvent
.Register(onCollisionExit);
}
public static IUnRegister OnCollisionExitEvent(this GameObject self, Action<Collision> onCollisionExit)
{
return self.GetOrAddComponent<OnCollisionExitEventTrigger>().OnCollisionExitEvent
.Register(onCollisionExit);
}
}
}