using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Events; namespace BITKit { public class OnPhysics : MonoBehaviour { [Header(Constant.Header.Settings)] public bool debug; [Header(Constant.Header.Events)] public UnityEvent onTriggerEnter = new(); public UnityEvent onTriggerExit = new(); public UnityEvent onTriggerStay = new(); public UnityEvent onCollisionEnter = new(); public UnityEvent onCollisionExit = new(); public UnityEvent onCollisionStay = new(); void OnTriggerEnter(Collider collider) { onTriggerEnter.Invoke(collider); if (debug) Debug.Log(collider.name); } void OnTriggerExit(Collider collider) { onTriggerExit.Invoke(collider); if (debug) Debug.Log(collider.name); } void OnTriggerStay(Collider collider) { onTriggerStay.Invoke(collider); if (debug) Debug.Log(collider.name); } void OnCollisionEnter(Collision collision) { onCollisionEnter.Invoke(collision); if (debug) Debug.Log(collision.collider.name); } void OnCollisionExit(Collision collision) { onCollisionExit.Invoke(collision); if (debug) Debug.Log(collision.collider.name); } void OnCollisionStay(Collision collision) { onCollisionStay.Invoke(collision); if (debug) Debug.Log(collision.collider.name); } } }