/// <summary>
        /// Create a HapticHandle from this HapticPattern, passing in a given strength.
        /// </summary>
        /// <param name="strength"></param>
        /// <returns>A new HapticHandle</returns>
        public unsafe HapticHandle CreateHandle(double strength)
        {
            EventList e = new ParameterizedPattern(this).Generate((float)strength, 0f);

            HapticHandle.CommandWithHandle creator = delegate(HLVR_Effect * handle)
            {
                e.Transmit(handle);
            };

            return(new HapticHandle(creator));
        }
 /// <summary>
 /// Add a HapticPattern to this HapticExperience with a given time offset and default strength of 1.0
 /// </summary>
 /// <param name="pattern">The pattern with time/strength attributes</param>
 public HapticExperience AddPattern(ParameterizedPattern pattern)
 {
     Patterns.Add(pattern);
     return(this);
 }