コード例 #1
0
    /// <summary>
    /// 振動の実装部
    /// </summary>
    /// <param name="index">コントローラーの番号</param>
    /// <param name="lowPow">低周波の振動の強さ</param>
    /// <param name="highPow">高周波の振動の強さ</param>
    static void VibrationImpl(int index, float lowPow, float highPow)
    {
#if UNITY_SWITCH && !(UNITY_EDITOR)
        //未接続なら何もしない
        if (!SwitchManager.GetInstance().IsConnect(index))
        {
            return;
        }
        //IDの取得
        NpadId npadId = SwitchManager.GetInstance().GetNpadId(index);
        //スタイルの取得
        NpadStyle npadStyle = Npad.GetStyleSet(npadId);
        //デバイスの数を取得(0か1のみ取得する)
        int deviceCount = Vibration.GetDeviceHandles(
            vibrationDeviceHandles, 1, npadId, npadStyle);
        //デバイスの数が1じゃない場合は何もしない
        if (deviceCount != 1)
        {
            return;
        }
        //パワーをセット
        vibrationValue.amplitudeLow  = lowPow;
        vibrationValue.amplitudeHigh = highPow;
        //デバイスの初期化
        Vibration.InitializeDevice(vibrationDeviceHandles[0]);
        //振動の値をセット
        Vibration.SendValue(vibrationDeviceHandles[0], vibrationValue);
#endif
    }
コード例 #2
0
    /// <summary>
    /// 振動の実装部
    /// </summary>
    /// <param name="_Index">コントローラーの番号</param>
    /// <param name="_LowPow">低周波の振動の強さ</param>
    /// <param name="_HighPow">高周波の振動の強さ</param>
    static void VibrationImpl(int _Index, float _LowPow, float _HighPow)
    {
        //未接続なら何もしない
        if (!SwitchManager.GetInstance().IsConnect(_Index))
        {
            return;
        }
        //IDの取得
        NpadId npadId = SwitchManager.GetInstance().GetNpadId(_Index);
        //スタイルの取得
        NpadStyle npadStyle = Npad.GetStyleSet(npadId);
        //デバイスの数を取得(0か1のみ取得する)
        int deviceCount = Vibration.GetDeviceHandles(
            m_VibrationDeviceHandles, 1, npadId, npadStyle);

        //デバイスの数が1じゃない場合は何もしない
        if (deviceCount != 1)
        {
            return;
        }
        //パワーをセット
        m_VibrationValue.amplitudeLow  = _LowPow;
        m_VibrationValue.amplitudeHigh = _HighPow;
        //デバイスの初期化
        Vibration.InitializeDevice(m_VibrationDeviceHandles[0]);
        //振動の値をセット
        Vibration.SendValue(m_VibrationDeviceHandles[0], m_VibrationValue);
    }
コード例 #3
0
 void SetupVibrationDevices()
 {
     if (HasNPadStyle)
     {
         VibrationDeviceCount = Vibration.GetDeviceHandles(VibrationDeviceHandles, 2, NPadId, NPadStyle);
         for (var i = 0; i < VibrationDeviceCount; i++)
         {
             Vibration.InitializeDevice(VibrationDeviceHandles[i]);
             Vibration.GetDeviceInfo(ref VibrationDeviceInfos[i], VibrationDeviceHandles[i]);
         }
     }
 }
コード例 #4
0
    private void GetVibrationDevice(nn.hid.NpadId id, nn.hid.NpadStyle style)
    {
        vibrationValue.Clear();
        for (int i = 0; i < vibrationDeviceCount; i++)
        {
            Vibration.SendValue(vibrationDeviceHandles[i], vibrationValue);
        }

        vibrationDeviceCount = Vibration.GetDeviceHandles(
            vibrationDeviceHandles, vibrationDeviceCountMax, id, style);

        for (int i = 0; i < vibrationDeviceCount; i++)
        {
            Vibration.InitializeDevice(vibrationDeviceHandles[i]);
            Vibration.GetDeviceInfo(ref vibrationDeviceInfos[i], vibrationDeviceHandles[i]);
        }
    }