public List <Action> Activate(Character _character, Vector3 _dir) { if (_alertList.Count == 0) { return(null); } if (_requiredItems == null || _requiredItems.HasRequiredItems(_character)) { if (_index < _alertList.Count) { AlertList _alerts = _alertList[_index]; foreach (AlertActions _alert in _alerts.alerts) { _alert.Interactable.ExternalTrigger(_alert.EnterTask, _alert.Enter, _character); } Debug.Log("Triggered: " + _index); _index++; } else { if (_loop) { _index = 0; Activate(_character, Vector3.zero); } else { _index++; } } if (_requiredItems != null) { return(_requiredItems.UseItems()); } } return(null); }