48 lines
1.2 KiB
C#
48 lines
1.2 KiB
C#
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
namespace R0bbie.Timeline
|
|
{
|
|
/// <summary>
|
|
/// Generic TimelineTrigger which simply calls TriggerContinue on all attached steps
|
|
/// </summary>
|
|
public class TimelineTrigger : MonoBehaviour
|
|
{
|
|
[SerializeField] string description;
|
|
|
|
// Private variables
|
|
|
|
List<Step> triggerContinueOnSteps = new List<Step>();
|
|
|
|
// Properties
|
|
|
|
public bool triggered { get; protected set; }
|
|
|
|
|
|
|
|
public void AddStep(Step _stepToTrigger)
|
|
{
|
|
// Only add step to the list if it's not already in it..
|
|
if (triggerContinueOnSteps.Contains(_stepToTrigger))
|
|
return;
|
|
|
|
// Add step to list
|
|
triggerContinueOnSteps.Add(_stepToTrigger);
|
|
}
|
|
|
|
|
|
///
|
|
public void Trigger()
|
|
{
|
|
triggered = true;
|
|
|
|
// Add message to trigger continue on all attached steps
|
|
foreach (Step triggerContinueOnStep in triggerContinueOnSteps)
|
|
{
|
|
triggerContinueOnStep.TriggerContinue(this);
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
} |