49 lines
1.6 KiB
C#
49 lines
1.6 KiB
C#
|
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<Collider> onTriggerEnter = new();
|
||
|
public UnityEvent<Collider> onTriggerExit = new();
|
||
|
public UnityEvent<Collider> onTriggerStay = new();
|
||
|
public UnityEvent<Collision> onCollisionEnter = new();
|
||
|
public UnityEvent<Collision> onCollisionExit = new();
|
||
|
public UnityEvent<Collision> 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);
|
||
|
}
|
||
|
}
|
||
|
}
|