public abstract string GetControllerAxisTypeNameFromEnum(EVRControllerAxisType eAxisType);
internal static extern IntPtr VR_IVRSystem_GetControllerAxisTypeNameFromEnum(IntPtr instancePtr, EVRControllerAxisType eAxisType);
public string GetControllerAxisTypeNameFromEnum(EVRControllerAxisType eAxisType) { IntPtr result = FnTable.GetControllerAxisTypeNameFromEnum(eAxisType); return (string) Marshal.PtrToStructure(result, typeof(string)); }
public override string GetControllerAxisTypeNameFromEnum(EVRControllerAxisType eAxisType) { CheckIfUsable(); IntPtr result = VRNativeEntrypoints.VR_IVRSystem_GetControllerAxisTypeNameFromEnum(m_pVRSystem,eAxisType); return (string) Marshal.PtrToStructure(result, typeof(string)); }
public string GetButtonIdNameFromEnum(EVRButtonId eButtonId) => default; // 0x00000001811DFFF0-0x00000001811E0070 public string GetControllerAxisTypeNameFromEnum(EVRControllerAxisType eAxisType) => default; // 0x00000001811E0070-0x00000001811E00F0
public string GetControllerAxisTypeNameFromEnum(EVRControllerAxisType eAxisType) { IntPtr result = FnTable.GetControllerAxisTypeNameFromEnum(eAxisType); return Marshal.PtrToStringAnsi(result); }
// Token: 0x06001EFB RID: 7931 RVA: 0x0009CCE3 File Offset: 0x0009AEE3 public string GetControllerAxisTypeNameFromEnum(EVRControllerAxisType eAxisType) { return(Marshal.PtrToStringAnsi(this.FnTable.GetControllerAxisTypeNameFromEnum(eAxisType))); }
public string GetControllerAxisTypeNameFromEnum(EVRControllerAxisType eAxisType) { IntPtr ptr = this.FnTable.GetControllerAxisTypeNameFromEnum(eAxisType); return((string)Marshal.PtrToStructure(ptr, typeof(string))); }
public void Update() { for (uint deviceIdx = 0; deviceIdx < OpenVR.k_unMaxTrackedDeviceCount; ++deviceIdx) { ControllerStateTracker controllerStateTracker = controllerManager.StateTrackers[deviceIdx]; if (!controllerStateTracker.MenuActive) { continue; } uint primaryAxisIdx = 0; EVRButtonId primaryAxisButtonId = EVRButtonId.k_EButton_Axis0 + (int)primaryAxisIdx; if (controllerStateTracker.WasClicked(primaryAxisButtonId) || controllerStateTracker.WasClicked(EVRButtonId.k_EButton_A)) //k_EButton_A is the A/X button on touch { model.Press(); } if (controllerStateTracker.WasClicked(EVRButtonId.k_EButton_Grip)) { model.PressSecondary(); } EVRControllerAxisType axisType = (EVRControllerAxisType)OpenVR.System.GetInt32TrackedDeviceProperty(deviceIdx, ETrackedDeviceProperty.Prop_Axis0Type_Int32 + (int)primaryAxisIdx); if (axisType == EVRControllerAxisType.k_eControllerAxis_TrackPad) { //use interial scrolling if (controllerStateTracker.HasTouchDelta(primaryAxisIdx)) { Vector2 delta = controllerStateTracker.GetTouchDelta(primaryAxisIdx); velocities[deviceIdx] = delta / controllerStateTracker.GetUpdateRate(); ApplyDelta(delta, deviceIdx, primaryAxisIdx); } else if (!controllerStateTracker.IsTouched(primaryAxisButtonId)) { Vector2 velocity = velocities[deviceIdx]; if (velocity != Vector2.Zero) { if (velocity.LengthSquared() < 1e-5f) { velocity = Vector2.Zero; model.DoneMove(); } else { velocity *= 0.99f; ApplyDelta(velocity, deviceIdx, primaryAxisIdx); } velocities[deviceIdx] = velocity; } } } else { //use velocity scrolling if (controllerStateTracker.IsTouched(primaryAxisButtonId)) { Vector2 position = controllerStateTracker.GetAxisPosition(primaryAxisIdx); Vector2 velocity = PowerCurve(position, 2) * 0.2f; Vector2 delta = velocity; ApplyDelta(delta, deviceIdx, primaryAxisIdx); } else if (controllerStateTracker.BecameUntouched(primaryAxisButtonId)) { model.DoneMove(); } } } }