33 lines
1.0 KiB
C#
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);
|
|
}
|
|
}
|
|
} |