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

31 lines
1.0 KiB
C#

using System;
using UnityEngine;
namespace Stary.Evo
{
public class OnTriggerEnter2DEventTrigger : MonoBehaviour
{
public readonly EasyEvent<Collider2D> OnTriggerEnter2DEvent = new EasyEvent<Collider2D>();
private void OnTriggerEnter2D(Collider2D collider)
{
OnTriggerEnter2DEvent.Trigger(collider);
}
}
public static class OnTriggerEnter2DEventTriggerExtension
{
public static IUnRegister OnTriggerEnter2DEvent<T>(this T self, Action<Collider2D> onTriggerEnter2D)
where T : Component
{
return self.GetOrAddComponent<OnTriggerEnter2DEventTrigger>().OnTriggerEnter2DEvent
.Register(onTriggerEnter2D);
}
public static IUnRegister OnTriggerEnter2DEvent(this GameObject self, Action<Collider2D> onTriggerEnter2D)
{
return self.GetOrAddComponent<OnTriggerEnter2DEventTrigger>().OnTriggerEnter2DEvent
.Register(onTriggerEnter2D);
}
}
}