はじめに
「Unity Event Bridge」を Unity プロジェクトに導入することで
他のオブジェクトの OnCollisionEnter や TriggerEnter などのイベントを
検知できるようになります
使用例
using EventBridge; using UnityEngine; public class Example : MonoBehaviour { [SerializeField] private Transform m_target = null; private IComponentEventHandler m_handler; private void Start() { m_handler = m_target.RequestEventHandlers(); m_handler.TriggerEnter += TriggerEnter; m_handler.TriggerStay += TriggerStay; m_handler.TriggerExit += TriggerExit; m_handler.CollisionEnter += CollisionEnter; m_handler.CollisionStay += CollisionStay; m_handler.CollisionExit += CollisionExit; m_handler.CollisionEnter2D += CollisionEnter2D; m_handler.CollisionStay2D += CollisionStay2D; m_handler.CollisionExit2D += CollisionExit2D; m_handler.TriggerEnter2D += TriggerEnter2D; m_handler.TriggerStay2D += TriggerStay2D; m_handler.TriggerExit2D += TriggerExit2D; m_handler.OnReset += OnResetHanle; m_handler.WhenDestroy += WhenDestroy; m_handler.Enable += Enable; m_handler.Disable += Disable; } private void OnDestroy() { m_handler.TriggerEnter -= TriggerEnter; m_handler.TriggerStay -= TriggerStay; m_handler.TriggerExit -= TriggerExit; m_handler.CollisionEnter -= CollisionEnter; m_handler.CollisionStay -= CollisionStay; m_handler.CollisionExit -= CollisionExit; m_handler.CollisionEnter2D -= CollisionEnter2D; m_handler.CollisionStay2D -= CollisionStay2D; m_handler.CollisionExit2D -= CollisionExit2D; m_handler.TriggerEnter2D -= TriggerEnter2D; m_handler.TriggerStay2D -= TriggerStay2D; m_handler.TriggerExit2D -= TriggerExit2D; m_handler.OnReset -= OnResetHanle; m_handler.WhenDestroy -= WhenDestroy; m_handler.Enable -= Enable; m_handler.Disable -= Disable; } private void Disable() { } private void Enable() { } private void WhenDestroy() { } private void OnResetHanle() { } private void TriggerExit2D( Collider2D obj ) { } private void TriggerStay2D( Collider2D obj ) { } private void TriggerEnter2D( Collider2D obj ) { } private void CollisionExit2D( Collision2D obj ) { } private void CollisionStay2D( Collision2D obj ) { } private void CollisionEnter2D( Collision2D obj ) { } private void CollisionExit( Collision obj ) { } private void CollisionStay( Collision obj ) { } private void CollisionEnter( Collision obj ) { } private void TriggerExit( Collider obj ) { } private void TriggerStay( Collider obj ) { } private void TriggerEnter( Collider obj ) { } }