// MIT License - Copyright (c) 2025 wallstop // Full license text: https://github.com/wallstop/unity-helpers/blob/main/LICENSE namespace WallstopStudios.UnityHelpers.Utils { using System; using UnityEngine; [DisallowMultipleComponent] [RequireComponent(typeof(Collider2D))] public sealed class CollisionProxy : MonoBehaviour { public event Action OnCollisionEnter = _ => { }; public event Action OnCollisionStay = _ => { }; public event Action OnCollisionExit = _ => { }; public event Action OnTriggerEnter = _ => { }; public event Action OnTriggerStay = _ => { }; public event Action OnTriggerExit = _ => { }; private void OnTriggerEnter2D(Collider2D other) { OnTriggerEnter?.Invoke(other); } private void OnTriggerStay2D(Collider2D other) { OnTriggerStay?.Invoke(other); } private void OnTriggerExit2D(Collider2D other) { OnTriggerExit?.Invoke(other); } private void OnCollisionEnter2D(Collision2D other) { OnCollisionEnter?.Invoke(other); } private void OnCollisionStay2D(Collision2D other) { OnCollisionStay?.Invoke(other); } private void OnCollisionExit2D(Collision2D other) { OnCollisionExit?.Invoke(other); } } }