using System.Collections.Generic; using UnityEngine; namespace R0bbie.Timeline { /// /// Generic TimelineTrigger which simply calls TriggerContinue on all attached steps /// public class TimelineTrigger : MonoBehaviour { [SerializeField] string description; // Private variables List triggerContinueOnSteps = new List(); // 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); } } } }