mirror of
https://github.com/NotAKidoS/NAK_CVR_Mods.git
synced 2025-09-02 06:19:22 +00:00
[IKAdjustments] Fixed for 2024r175
This commit is contained in:
parent
9cfe74276d
commit
b294a1601f
3 changed files with 11 additions and 22 deletions
|
@ -1,5 +1,6 @@
|
|||
using ABI_RC.Core.InteractionSystem;
|
||||
using ABI_RC.Systems.IK;
|
||||
using ABI_RC.Systems.IK.SubSystems;
|
||||
using HarmonyLib;
|
||||
using NAK.IKAdjustments.Systems;
|
||||
|
||||
|
@ -15,7 +16,7 @@ internal static class IKSystemPatches
|
|||
}
|
||||
|
||||
[HarmonyPostfix]
|
||||
[HarmonyPatch(typeof(IKSystem), nameof(IKSystem.ResetIkSettings))]
|
||||
[HarmonyPatch(typeof(BodySystem), nameof(BodySystem.ResetCalibration))]
|
||||
private static void Postfix_IKSystem_ResetIkSettings()
|
||||
{
|
||||
IKAdjuster.Instance.ResetAllOffsets();
|
||||
|
|
|
@ -71,9 +71,9 @@ public class IKAdjuster : MonoBehaviour
|
|||
return;
|
||||
|
||||
isAdjustMode = true;
|
||||
IKSystem.Instance.SetTrackingPointVisibility(true);
|
||||
IKSystem.Instance.TrackingSystem.SetTrackingPointVisibility(true);
|
||||
CVR_MenuManager.Instance.ToggleQuickMenu(false);
|
||||
foreach (TrackingPoint tracker in IKSystem.Instance.AllTrackingPoints) tracker.ClearLineTarget();
|
||||
foreach (TrackingPoint tracker in IKSystem.Instance.TrackingSystem.AllTrackingPoints) tracker.ClearLineTarget();
|
||||
}
|
||||
|
||||
public void ExitAdjustMode()
|
||||
|
@ -82,12 +82,12 @@ public class IKAdjuster : MonoBehaviour
|
|||
return;
|
||||
|
||||
isAdjustMode = false;
|
||||
IKSystem.Instance.SetTrackingPointVisibility(false);
|
||||
IKSystem.Instance.TrackingSystem.SetTrackingPointVisibility(false);
|
||||
}
|
||||
|
||||
public void ResetAllOffsets()
|
||||
{
|
||||
foreach (TrackingPoint tracker in IKSystem.Instance.AllTrackingPoints)
|
||||
foreach (TrackingPoint tracker in IKSystem.Instance.TrackingSystem.AllTrackingPoints)
|
||||
{
|
||||
tracker.offsetTransform.SetParent(tracker.displayObject.transform, true);
|
||||
tracker.displayObject.transform.localPosition = Vector3.zero;
|
||||
|
@ -117,8 +117,8 @@ public class IKAdjuster : MonoBehaviour
|
|||
? CVRInputManager.Instance.interactLeftValue > 0.9f
|
||||
: CVRInputManager.Instance.interactRightValue > 0.9f;
|
||||
Transform handTracker = isLeft
|
||||
? IKSystem.Instance.leftHandTracker.transform
|
||||
: IKSystem.Instance.rightHandTracker.transform;
|
||||
? IKSystem.Instance.leftController.transform
|
||||
: IKSystem.Instance.rightController.transform;
|
||||
|
||||
if (grabState.tracker == null && !grabState.handGrabbed && isGrabbing)
|
||||
{
|
||||
|
@ -145,7 +145,7 @@ public class IKAdjuster : MonoBehaviour
|
|||
Setting_MaxGrabDistance)
|
||||
{
|
||||
grabState.tracker =
|
||||
IKSystem.Instance.AllTrackingPoints.Find(tp => tp.referenceTransform == nearestTransform);
|
||||
IKSystem.Instance.TrackingSystem.AllTrackingPoints.Find(tp => tp.referenceTransform == nearestTransform);
|
||||
if (grabState.otherGrab.tracker == grabState.tracker) OnRelease(grabState.otherGrab);
|
||||
grabState.displayOffset = grabState.tracker.displayObject.transform.position - handTracker.position;
|
||||
grabState.displayOffsetRotation = Quaternion.Inverse(handTracker.rotation) *
|
||||
|
@ -194,7 +194,7 @@ public class IKAdjuster : MonoBehaviour
|
|||
|
||||
private Transform FindNearestTransform(Transform handTransform)
|
||||
{
|
||||
var validTrackingPointTransforms = IKSystem.ValidTrackingPointTransforms;
|
||||
var validTrackingPointTransforms = TrackingSystem.ValidTrackingPointTransforms;
|
||||
if (validTrackingPointTransforms == null || validTrackingPointTransforms.Count == 0) return null;
|
||||
return validTrackingPointTransforms
|
||||
.OrderBy(t => Vector3.Distance(handTransform.position, t.GetChild(0).position)).FirstOrDefault();
|
||||
|
|
|
@ -24,20 +24,8 @@ public static class BTKUIAddon
|
|||
miscCategory.AddButton("Reset Offsets", "", "Reset all tracked point offsets.")
|
||||
.OnPress += () => { IKAdjuster.Instance.ResetAllOffsets(); };
|
||||
|
||||
// Cyle GrabMode Button
|
||||
// Cycle GrabMode Button
|
||||
miscCategory.AddButton("Cycle Mode", "", "Cycle grab mode. Position, Rotation, or Both.")
|
||||
.OnPress += () => { IKAdjuster.Instance.CycleAdjustMode(); };
|
||||
}
|
||||
|
||||
private static void AddMelonToggle(ref Category category, MelonPreferences_Entry<bool> entry)
|
||||
{
|
||||
category.AddToggle(entry.DisplayName, entry.Description, entry.Value).OnValueUpdated += b => entry.Value = b;
|
||||
}
|
||||
|
||||
private static void AddMelonSlider(ref Page page, MelonPreferences_Entry<float> entry, float min, float max,
|
||||
int decimalPlaces = 2)
|
||||
{
|
||||
page.AddSlider(entry.DisplayName, entry.Description, entry.Value, min, max, decimalPlaces).OnValueUpdated +=
|
||||
f => entry.Value = f;
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue