mirror of
https://github.com/NotAKidoS/NAK_CVR_Mods.git
synced 2025-09-02 06:19:22 +00:00
33 lines
911 B
C#
33 lines
911 B
C#
using ABI.CCK.Components;
|
|
using UnityEngine;
|
|
|
|
namespace NAK.DesktopVRSwitch.VRModeTrackers;
|
|
|
|
public class CVRPickupObjectTracker : MonoBehaviour
|
|
{
|
|
internal CVRPickupObject _pickupObject;
|
|
internal Transform _storedGripOrigin;
|
|
|
|
private void Start()
|
|
{
|
|
VRModeSwitchManager.OnPostVRModeSwitch += OnPostSwitch;
|
|
}
|
|
|
|
private void OnDestroy()
|
|
{
|
|
VRModeSwitchManager.OnPostVRModeSwitch -= OnPostSwitch;
|
|
}
|
|
|
|
public void OnPostSwitch(object sender, VRModeSwitchManager.VRModeEventArgs args)
|
|
{
|
|
if (_pickupObject == null)
|
|
return;
|
|
|
|
// Drop the object if it is being held locally
|
|
if (_pickupObject._controllerRay != null)
|
|
_pickupObject._controllerRay.DropObject(true);
|
|
|
|
// Swap the grip origins
|
|
(_storedGripOrigin, _pickupObject.gripOrigin) = (_pickupObject.gripOrigin, _storedGripOrigin);
|
|
}
|
|
}
|