Advertisement
GibTreaty

OnTrigger.cs

Aug 1st, 2015
378
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 0.87 KB | None | 0 0
  1. //Uses LayerMaskExtensions.cs https://pastebin.com/AZzRYSCJ
  2.  
  3. using UnityEngine;
  4. using UnityEngine.Events;
  5.  
  6. public class OnTrigger : MonoBehaviour {
  7.  
  8.     public LayerMask triggerMask = -1;
  9.  
  10.     public TriggerEvent OnEnter;
  11.     public TriggerEvent OnStay;
  12.     public TriggerEvent OnExit;
  13.  
  14.     public void OnTriggerEnter(Collider hit) {
  15.  
  16.         if(triggerMask.LayerInMask(hit.gameObject.layer))
  17.             if(OnEnter != null) OnEnter.Invoke(hit);
  18.     }
  19.  
  20.     public void OnTriggerStay(Collider hit) {
  21.         if(triggerMask.LayerInMask(hit.gameObject.layer))
  22.             if(OnStay != null) OnStay.Invoke(hit);
  23.     }
  24.  
  25.     public void OnTriggerExit(Collider hit) {
  26.         if(triggerMask.LayerInMask(hit.gameObject.layer))
  27.             if(OnExit != null) OnExit.Invoke(hit);
  28.     }
  29.  
  30.     /// <summary>
  31.     /// A UnityEvent with a Collider parameter.
  32.     /// </summary>
  33.     [System.Serializable]
  34.     public class TriggerEvent : UnityEvent<Collider> { }
  35. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement