/// <summary> /// Add a new custom managed event for this driver. All params. /// </summary> /// <typeparam name="T">Driver type</typeparam> /// <param name="_thisDriver">This driver</param> /// <param name="_condition">Event condition</param> /// <param name="_action">Event action</param> /// <param name="_priority">Event priority</param> /// <param name="_fireCount">Event fire count</param> /// <param name="_id">Event ID</param> /// <param name="_desc">Event Description</param> /// <returns>This driver</returns> public static T SetAddEvent <T>(this T _thisDriver, ioDriver.Event.Condition <T> _condition, ioDriver.Event.Handler <T> _action, uint _priority, int _fireCount = 1, string _id = null, string _desc = null) where T : ioDriver.DBase { var evt = _thisDriver.AddEventUser(() => _condition(_thisDriver), _action, _id) .SetFireCount(_fireCount) .SetPriority(_priority); if (_desc != null) { evt.Description = _desc; } return(_thisDriver); }
/// <summary> /// Add a new custom managed event for this driver. Defaults. /// </summary> /// <typeparam name="T">Driver type</typeparam> /// <param name="_thisDriver">This driver</param> /// <param name="_condition">Event condition</param> /// <param name="_action">Event action</param> /// <param name="_id">Event ID</param> /// <returns>This driver</returns> public static T SetAddEvent <T>(this T _thisDriver, ioDriver.Event.Condition <T> _condition, ioDriver.Event.Handler <T> _action, string _id = null) where T : ioDriver.DBase { _thisDriver.AddEventUser(() => _condition(_thisDriver), _action, _id); return(_thisDriver); }