Files
plugin-library/Assets/00.StaryEvo/Runtime/Tool/EventKit/EventTrigger/Physics/OnCollisionEnterEventTrigger.cs
2025-04-11 09:56:06 +08:00

33 lines
1.0 KiB
C#

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