public RunnerFSMContext AddTransition(IEnumerable<RunnerState> forStates, InputState inputState, TransitionInfo transitionInfo) { if (transitionInfo.TransitionName == null) { transitionInfo.TransitionName = GetStartName(forStates) + "To" + transitionInfo.NextState; } foreach (var forState in forStates) { AddTransition(forState, inputState, transitionInfo); } return this; }
private bool IsDelayUp(TransitionInfo transitionInfo) { if (transitionInfo.DelayTime.HasValue) { var delay = (lastUseTime + transitionInfo.DelayTime.Value); var delayUp = delay <= Time.time; return delayUp; } return true; }
public RunnerFSMContext AddTransition(RunnerState forState, InputState inputState, TransitionInfo transitionInfo) { if (transitionInfo.TransitionName == null) transitionInfo.TransitionName = forState + "To" + transitionInfo.NextState; _registeredTransitions.Add(transitionInfo); _fsm._availableTransitions[forState][inputState].Add(transitionInfo); return this; }
private static bool IsTransitionReady(TransitionInfo t) { return (t.LastUseTime - Time.time) <= 0; }