public virtual void ExecuteAll() { if (characterActions.Count <= 0) { return; } currentAction = characterActions[0]; currentAction.Execute(hero, ReadyForNextAction); }
protected virtual void ExecuteNextTemporaryAction() { if (temporaryCharacterActions.Count < 1) { return; } currentTemporaryAction = temporaryCharacterActions[0]; currentTemporaryAction.Execute(hero, ReadyForNextTemporaryAction); }
protected virtual void ExecuteNext() { if (temporaryCharacterActions.Count > 0) { ExecuteNextTemporaryAction(); return; } if (characterActions.Count <= characterActions.FindIndex(IsCurrentAction) + 1) { if (looping) { ExecuteAll(); } return; } currentAction = characterActions[characterActions.FindIndex(IsCurrentAction) + 1]; currentAction.Execute(hero, ReadyForNextAction); }