[IKAdjustments] Fixed for 2024r175

This commit is contained in:
NotAKidoS 2024-04-23 18:47:11 -05:00
parent 9cfe74276d
commit b294a1601f
3 changed files with 11 additions and 22 deletions

View file

@ -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();

View file

@ -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();

View file

@ -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;
}
}