private void UpdateNavState(int num) { navConnected[num] = ((state.navInfo.port_status[num] & 0x1) == 0x1); PSMoveSharpNavPadData padData = state.padData[num]; /*string toPrint = num + " "; * foreach (ushort button in padData.button) * { * toPrint += button + " "; * } * Debug.Log(toPrint);*/ isNavUp[num] = (padData.button[PSMoveSharpConstants.offsetDigital1] & PSMoveSharpConstants.ctrlUp) != 0; isNavDown[num] = (padData.button[PSMoveSharpConstants.offsetDigital1] & PSMoveSharpConstants.ctrlDown) != 0; isNavLeft[num] = (padData.button[PSMoveSharpConstants.offsetDigital1] & PSMoveSharpConstants.ctrlLeft) != 0; isNavRight[num] = (padData.button[PSMoveSharpConstants.offsetDigital1] & PSMoveSharpConstants.ctrlRight) != 0; isNavButtonCross[num] = (padData.button[PSMoveSharpConstants.offsetDigital2] & PSMoveSharpConstants.ctrlCross) != 0; isNavButtonCircle[num] = (padData.button[PSMoveSharpConstants.offsetDigital2] & PSMoveSharpConstants.ctrlCircle) != 0; isNavButtonL1[num] = (padData.button[PSMoveSharpConstants.offsetDigital2] & PSMoveSharpConstants.ctrlL1) != 0; isNavButtonL3[num] = (padData.button[PSMoveSharpConstants.offsetDigital1] & PSMoveSharpConstants.ctrlL3) != 0; valueNavAnalogX[num] = padData.button[PSMoveSharpConstants.offsetAnalogLeftX] - 128; valueNavAnalogY[num] = padData.button[PSMoveSharpConstants.offsetAnalogLeftY] - 128; valueNavL2[num] = padData.button[PSMoveSharpConstants.offsetPressL2]; isNavButtonL2[num] = (valueNavL2[num] >= thresholdNavL2); }
public NavController(int num) { _data = new NavData(); _dirty = true; padData = new PSMoveSharpNavPadData(); Connected = false; Num = num; }
public void Update(PSMoveSharpState state) { padData = state.padData[Num]; Connected = ((state.navInfo.port_status[Num] & 0x1) == 0x1); _dirty = true; }
public void Update(PSMoveSharpNavPadData padData) { PrevButtons = Buttons; Buttons = NavButton.None; if ((padData.button[PSMoveSharpConstants.offsetDigital1] & PSMoveSharpConstants.ctrlUp) != 0) { Buttons |= NavButton.Up; } if ((padData.button[PSMoveSharpConstants.offsetDigital1] & PSMoveSharpConstants.ctrlDown) != 0) { Buttons |= NavButton.Down; } if ((padData.button[PSMoveSharpConstants.offsetDigital1] & PSMoveSharpConstants.ctrlLeft) != 0) { Buttons |= NavButton.Left; } if ((padData.button[PSMoveSharpConstants.offsetDigital1] & PSMoveSharpConstants.ctrlRight) != 0) { Buttons |= NavButton.Right; } if ((padData.button[PSMoveSharpConstants.offsetDigital2] & PSMoveSharpConstants.ctrlCross) != 0) { Buttons |= NavButton.Cross; } if ((padData.button[PSMoveSharpConstants.offsetDigital2] & PSMoveSharpConstants.ctrlCircle) != 0) { Buttons |= NavButton.Circle; } if ((padData.button[PSMoveSharpConstants.offsetDigital2] & PSMoveSharpConstants.ctrlL1) != 0) { Buttons |= NavButton.L1; } if ((padData.button[PSMoveSharpConstants.offsetDigital1] & PSMoveSharpConstants.ctrlL3) != 0) { Buttons |= NavButton.L3; } ValueL2 = padData.button[PSMoveSharpConstants.offsetPressL2]; if (ValueL2 >= thresholdL2) { Buttons |= NavButton.L2; } ValueAnalog.x = padData.button[PSMoveSharpConstants.offsetAnalogLeftX] - 128; ValueAnalog.y = padData.button[PSMoveSharpConstants.offsetAnalogLeftY] - 128; }
public void Update(PSMoveSharpState state) { padData = state.padData[Num]; Connected = ((state.navInfo.port_status[Num] & 0x1)==0x1); _dirty = true; }
public void Update(PSMoveSharpNavPadData padData) { PrevButtons = Buttons; Buttons = NavButton.None; if((padData.button[PSMoveSharpConstants.offsetDigital1] & PSMoveSharpConstants.ctrlUp)!=0) Buttons |= NavButton.Up; if((padData.button[PSMoveSharpConstants.offsetDigital1] & PSMoveSharpConstants.ctrlDown)!=0) Buttons |= NavButton.Down; if((padData.button[PSMoveSharpConstants.offsetDigital1] & PSMoveSharpConstants.ctrlLeft)!=0) Buttons |= NavButton.Left; if((padData.button[PSMoveSharpConstants.offsetDigital1] & PSMoveSharpConstants.ctrlRight)!=0) Buttons |= NavButton.Right; if((padData.button[PSMoveSharpConstants.offsetDigital2] & PSMoveSharpConstants.ctrlCross)!=0) Buttons |= NavButton.Cross; if((padData.button[PSMoveSharpConstants.offsetDigital2] & PSMoveSharpConstants.ctrlCircle)!=0) Buttons |= NavButton.Circle; if((padData.button[PSMoveSharpConstants.offsetDigital2] & PSMoveSharpConstants.ctrlL1)!=0) Buttons |= NavButton.L1; if((padData.button[PSMoveSharpConstants.offsetDigital1] & PSMoveSharpConstants.ctrlL3)!=0) Buttons |= NavButton.L3; ValueL2 = padData.button[PSMoveSharpConstants.offsetPressL2]; if(ValueL2 >= thresholdL2) Buttons |= NavButton.L2; ValueAnalog.x = padData.button[PSMoveSharpConstants.offsetAnalogLeftX] - 128; ValueAnalog.y = padData.button[PSMoveSharpConstants.offsetAnalogLeftY] - 128; }
public PSMoveSharpState() { serverConfig = new PSMoveSharpServerConfig(); gemStatus = new PSMoveSharpStatus[PSMoveSharpNumMoveControllers]; gemStates = new PSMoveSharpGemState[PSMoveSharpNumMoveControllers]; imageStates = new PSMoveSharpImageState[PSMoveSharpNumMoveControllers]; pointerStates = new PSMoveSharpPointerState[PSMoveSharpNumMoveControllers]; sphereStates = new PSMoveSharpSphereState[PSMoveSharpNumMoveControllers]; for (int i = 0; i < PSMoveSharpNumMoveControllers; i++) { sphereStates[i] = new PSMoveSharpSphereState(); } cameraState = new PSMoveSharpCameraState(); padData = new PSMoveSharpNavPadData[PSMoveSharpNavInfo.PSMoveSharpNumNavControllers]; for (int i = 0; i < PSMoveSharpNavInfo.PSMoveSharpNumNavControllers; i++) { padData[i] = new PSMoveSharpNavPadData(); } navInfo = new PSMoveSharpNavInfo(); positionPointerStates = new PSMoveSharpPositionPointerState[PSMoveSharpNumMoveControllers]; for (int i = 0; i < PSMoveSharpNumMoveControllers; i++) { positionPointerStates[i] = new PSMoveSharpPositionPointerState(); } }