public void ResetOrientation()
        {
            var command = DualShockPS4OuputCommand.Create();

            command.ResetOrientation();

            ExecuteCommand(ref command);
        }
        public void ResetLightBarColor()
        {
            var command = DualShockPS4OuputCommand.Create();

            command.ResetColor();

            ExecuteCommand(ref command);

            m_LightBarColor = null;
        }
        public override void SetLightBarColor(Color color)
        {
            var command = DualShockPS4OuputCommand.Create();

            command.SetColor(color);

            ExecuteCommand(ref command);

            m_LightBarColor = color;
        }
        public override void SetMotorSpeeds(float largeMotor, float smallMotor)
        {
            var command = DualShockPS4OuputCommand.Create();

            command.SetMotorSpeeds(largeMotor, smallMotor);

            ExecuteCommand(ref command);

            m_LargeMotor = largeMotor;
            m_SmallMotor = smallMotor;
        }
        public override void SetMotorSpeeds(float lowFrequency, float highFrequency)
        {
            var command = DualShockPS4OuputCommand.Create();

            command.SetMotorSpeeds(lowFrequency, highFrequency);

            ExecuteCommand(ref command);

            m_LargeMotor = lowFrequency;
            m_SmallMotor = highFrequency;
        }
        public override void PauseHaptics()
        {
            if (!m_LargeMotor.HasValue && !m_SmallMotor.HasValue && !m_LightBarColor.HasValue)
            {
                return;
            }

            var command = DualShockPS4OuputCommand.Create();

            command.SetMotorSpeeds(0f, 0f);
            if (m_LightBarColor.HasValue)
            {
                command.SetColor(Color.black);
            }

            ExecuteCommand(ref command);
        }
        public override void ResumeHaptics()
        {
            if (!m_LargeMotor.HasValue && !m_SmallMotor.HasValue && !m_LightBarColor.HasValue)
            {
                return;
            }

            var command = DualShockPS4OuputCommand.Create();

            if (m_LargeMotor.HasValue || m_SmallMotor.HasValue)
            {
                command.SetMotorSpeeds(m_LargeMotor.Value, m_SmallMotor.Value);
            }
            if (m_LightBarColor.HasValue)
            {
                command.SetColor(m_LightBarColor.Value);
            }

            ExecuteCommand(ref command);
        }