public void ActionFinish(IApeAction action) { foreach (var logger in _loggers) { logger.ActionFinish(action); } }
public void ActionStart(IApeAction action) { foreach (var logger in _loggers) { logger.ActionStart(action); } }
private void RunningTaskFinishCheck() { if (_runningTask != null) { if (_runningTask.Status == TaskStatus.RanToCompletion || _runningTask.Status == TaskStatus.Canceled || _runningTask.Status == TaskStatus.Faulted) { _logger.ActionFinish(_runningAction); _runningAction = null; _runningTask = null; } } }
public Condition(Func <State> func, IApeAction action) { _func = func; _action = action; }
public void ActionFinish(IApeAction action) { }
public void ActionStart(IApeAction action) { Debug.Log($"ApeTest | [{Time.frameCount}/{Time.time:0.00}] {action}"); }
public bool Update() { if (Disposed) { return(false); } if (!_started) { OnStart(); } RunningTaskFinishCheck(); if (_runningTask != null) { return(true); } var executeForce = new List <IApeAction>(); var random = new List <IApeAction>(); try { foreach (var action in _actions) { var state = action.CheckState(); if (state == State.ExecuteForce) { executeForce.Add(action); } if (state == State.Execute) { random.Add(action); } } } catch (ApeTestFinishException e) { _logger.TestFinish(e); DisposeInternal(); return(false); } if (executeForce.Count > 0) { var action = executeForce[0]; _cancellationTokenSource = new CancellationTokenSource(); _logger.ActionStart(action); _runningAction = action; _runningTask = action.Run(_cancellationTokenSource.Token); } else { var pickedAction = random.RandomPick(); if (pickedAction != null) { _cancellationTokenSource = new CancellationTokenSource(); _logger.ActionStart(pickedAction); _runningAction = pickedAction; _runningTask = pickedAction.Run(_cancellationTokenSource.Token); } } RunningTaskFinishCheck(); return(true); }