コード例 #1
0
    /// <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);
    }
コード例 #2
0
 /// <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);
 }