/// <summary> /// Добавить подноразовое действие в путь Ошибок /// </summary> /// <param name="action">Действие</param> /// <returns>Путь</returns> public CPath Error(DPathAction action) { errors.Enqueue(new PathItem { Action2 = action, Error = true }); return(this); }
/// <summary> /// Добавить в путь Действие /// </summary> /// <param name="action">Действие</param> /// <returns>Путь</returns> public CPath Add(DPathAction action) { actions.Enqueue(new PathItem { Action2 = action }); return(this); }
public static CPath TimeAction(this CPath path, float time, DPathAction action) { return(path.Add(p => { if (p.DeltaF < time) { return Status.Continue; } var status = action.Invoke(); switch (status) { case Status.Continue: p.ResetTimerVariables(); return Status.Continue; default: return status; } })); }