30 lines
996 B
C#
30 lines
996 B
C#
|
|
using System;
|
|||
|
|
using UnityEngine;
|
|||
|
|
|
|||
|
|
namespace Stary.Evo
|
|||
|
|
{
|
|||
|
|
public class OnTriggerEnterEventTrigger : MonoBehaviour
|
|||
|
|
{
|
|||
|
|
public readonly EasyEvent<Collider> OnTriggerEnterEvent = new EasyEvent<Collider>();
|
|||
|
|
private void OnTriggerEnter(Collider collider)
|
|||
|
|
{
|
|||
|
|
OnTriggerEnterEvent.Trigger(collider);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public static class OnTriggerEnterEventTriggerExtension
|
|||
|
|
{
|
|||
|
|
public static IUnRegister OnTriggerEnterEvent<T>(this T self, Action<Collider> onTriggerEnter)
|
|||
|
|
where T : Component
|
|||
|
|
{
|
|||
|
|
return self.GetOrAddComponent<OnTriggerEnterEventTrigger>().OnTriggerEnterEvent
|
|||
|
|
.Register(onTriggerEnter);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public static IUnRegister OnTriggerEnterEvent(this GameObject self, Action<Collider> onTriggerEnter)
|
|||
|
|
{
|
|||
|
|
return self.GetOrAddComponent<OnTriggerEnterEventTrigger>().OnTriggerEnterEvent
|
|||
|
|
.Register(onTriggerEnter);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|