74 lines
1.4 KiB
C#
74 lines
1.4 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using UnityEngine.Events;
|
|
|
|
public class eventObjectFoundOnCaptureSystem : MonoBehaviour
|
|
{
|
|
[Header ("Main Settings")]
|
|
[Space]
|
|
|
|
public bool eventEnabled = true;
|
|
|
|
public bool callEventMultipleTimes;
|
|
|
|
[Header ("Debug")]
|
|
[Space]
|
|
|
|
public bool showDebugPrint;
|
|
public bool eventTriggered;
|
|
public bool eventTriggeredWithGameObject;
|
|
|
|
[Space]
|
|
[Header ("Events Settings")]
|
|
[Space]
|
|
|
|
public UnityEvent eventToCallOnCapture;
|
|
|
|
public bool useEventToSendObject;
|
|
|
|
public eventParameters.eventToCallWithGameObject eventToSendObject;
|
|
|
|
public void callEventOnCapture ()
|
|
{
|
|
if (eventEnabled && !eventTriggered) {
|
|
eventToCallOnCapture.Invoke ();
|
|
|
|
if (showDebugPrint) {
|
|
print ("Event Called on Capture");
|
|
}
|
|
|
|
if (!callEventMultipleTimes) {
|
|
eventTriggered = true;
|
|
}
|
|
}
|
|
}
|
|
|
|
public void callEventOnCaptureWithGameObject (GameObject newObject)
|
|
{
|
|
if (eventEnabled) {
|
|
if (useEventToSendObject) {
|
|
if (newObject == null) {
|
|
return;
|
|
}
|
|
|
|
if (!eventTriggeredWithGameObject) {
|
|
if (showDebugPrint) {
|
|
print ("Event Called on Capture With GameObject");
|
|
}
|
|
|
|
eventToSendObject.Invoke (newObject);
|
|
|
|
if (!callEventMultipleTimes) {
|
|
eventTriggeredWithGameObject = true;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
public void setEventEnabledState (bool state)
|
|
{
|
|
eventEnabled = state;
|
|
}
|
|
} |