示例#1
0
 public override void ResumeHaptics()
 {
     if (m_leftRumbleValues.Equals(m_rightRumbleValues) && m_leftRumbleValues.HasValues)
     {
         var cmd = NPadDeviceIOCTLOutputCommand.Create();
         cmd.positions = (byte)NPadDeviceIOCTLOutputCommand.NPadRumblePostion.All;
         m_leftRumbleValues.ApplyRumbleValues(ref cmd);
         ExecuteCommand(ref cmd);
     }
     else
     {
         if (m_leftRumbleValues.HasValues)
         {
             var cmd = NPadDeviceIOCTLOutputCommand.Create();
             cmd.positions = (byte)NPadDeviceIOCTLOutputCommand.NPadRumblePostion.Left;
             m_leftRumbleValues.ApplyRumbleValues(ref cmd);
             ExecuteCommand(ref cmd);
         }
         if (m_rightRumbleValues.HasValues)
         {
             var cmd = NPadDeviceIOCTLOutputCommand.Create();
             cmd.positions = (byte)NPadDeviceIOCTLOutputCommand.NPadRumblePostion.Right;
             m_rightRumbleValues.ApplyRumbleValues(ref cmd);
             ExecuteCommand(ref cmd);
         }
     }
 }
示例#2
0
 public void ApplyRumbleValues(ref NPadDeviceIOCTLOutputCommand cmd)
 {
     cmd.amplitudeLow  = (float)amplitudeLow;
     cmd.frequencyLow  = (float)frequencyLow;
     cmd.amplitudeHigh = (float)amplitudeHigh;
     cmd.frequencyHigh = (float)frequencyHigh;
 }
示例#3
0
        public override void ResetHaptics()
        {
            var cmd = NPadDeviceIOCTLOutputCommand.Create();

            ExecuteCommand(ref cmd);
            m_leftRumbleValues.Reset();
            m_rightRumbleValues.Reset();
        }
示例#4
0
        /// <summary>
        /// Set the intensity and vibration frequency for the right low and high frequency rumble motors
        /// </summary>
        /// <param name="lowAmplitude">Low frequency motor's vibration intensity, 0..1 range</param>
        /// <param name="lowFrequency">Low frequency motor's vibration frequency in Hz</param>
        /// <param name="highAmplitude">High frequency motor's vibration intensity, 0..1 range</param>
        /// <param name="highFrequency">High frequency motor's vibration frequency in Hz</param>
        public void SetMotorSpeedRight(float lowAmplitude, float lowFrequency, float highAmplitude, float highFrequency)
        {
            m_rightRumbleValues.SetRumbleValues(lowAmplitude, lowFrequency, highAmplitude, highFrequency);

            var cmd = NPadDeviceIOCTLOutputCommand.Create();

            cmd.positions = (byte)NPadDeviceIOCTLOutputCommand.NPadRumblePostion.Right;
            m_rightRumbleValues.ApplyRumbleValues(ref cmd);
            ExecuteCommand(ref cmd);
        }
示例#5
0
        public override void PauseHaptics()
        {
            var cmd = NPadDeviceIOCTLOutputCommand.Create();

            ExecuteCommand(ref cmd);
        }