This repository has been archived on 2026-04-30. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
2019-03-08 09:54:14 +11:00

50 lines
1.2 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class DamagerController : MonoBehaviour {
public delegate void CallbackHandler(Collider2D collider);
List<CallbackHandler> onTriggerEnter = new List<CallbackHandler>();
List<CallbackHandler> onTriggerStay= new List<CallbackHandler>();
List<CallbackHandler> onTriggerExit = new List<CallbackHandler>();
//public access members
public void PushOnTriggerEnter(CallbackHandler callback) {
onTriggerEnter.Add(callback);
}
public void PushOnTriggerStay(CallbackHandler callback) {
onTriggerStay.Add(callback);
}
public void PushOnTriggerExit(CallbackHandler callback) {
onTriggerExit.Add(callback);
}
public void PurgeLists() {
onTriggerEnter.Clear();
onTriggerStay.Clear();
onTriggerExit.Clear();
}
//monobehaviour members
void OnTriggerEnter2D(Collider2D collider) {
foreach(CallbackHandler callback in onTriggerEnter) {
callback(collider);
}
}
void OnTriggerStay2D(Collider2D collider) {
foreach(CallbackHandler callback in onTriggerStay) {
callback(collider);
}
}
void OnTriggerExit2D(Collider2D collider) {
foreach(CallbackHandler callback in onTriggerExit) {
callback(collider);
}
}
}