/// <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 }
/// <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); }
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]); } } }
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]); } }