[DesktopVRSwitch] Minor changes

This commit is contained in:
NotAKidoS 2023-08-03 00:05:45 -05:00
parent 6d17085f21
commit 4c09f9bd57
25 changed files with 359 additions and 205 deletions

View file

@ -15,10 +15,10 @@ public class CVRGestureRecognizerTracker : VRModeTracker
VRModeSwitchManager.OnPostVRModeSwitch -= OnPostSwitch;
}
private void OnPostSwitch(bool intoVR)
private void OnPostSwitch(object sender, VRModeSwitchManager.VRModeEventArgs args)
{
DesktopVRSwitch.Logger.Msg("Updating CVRGestureRecognizer _camera to active camera.");
CVRGestureRecognizer.Instance._camera = Utils.GetPlayerCameraObject(intoVR).GetComponent<Camera>();
CVRGestureRecognizer.Instance._camera = args.PlayerCamera;
}
}
}

View file

@ -16,14 +16,14 @@ public class CVRInputManagerTracker : VRModeTracker
VRModeSwitchManager.OnPostVRModeSwitch -= OnPostSwitch;
}
private void OnPostSwitch(bool intoVR)
private void OnPostSwitch(object sender, VRModeSwitchManager.VRModeEventArgs args)
{
DesktopVRSwitch.Logger.Msg("Resetting CVRInputManager inputs.");
CVRInputManager.Instance.inputEnabled = true;
// IM CRYING
CVRInputManager.Instance.reload = true;
//CVRInputManager.Instance.reload = true;
//just in case
CVRInputManager.Instance.textInputFocused = false;
@ -42,6 +42,6 @@ public class CVRInputManagerTracker : VRModeTracker
CVRInputManager.Instance.AddInputModule(CVRInputManager._moduleXR = new CVRInputModule_XR());
//enable xr input or whatnot
CVRInputManager._moduleXR.InputEnabled = intoVR;
CVRInputManager._moduleXR.InputEnabled = args.IsUsingVr;
}
}

View file

@ -18,7 +18,7 @@ public class CVRPickupObjectTracker : MonoBehaviour
VRModeSwitchManager.OnPostVRModeSwitch -= OnPostSwitch;
}
public void OnPostSwitch(bool intoVR)
public void OnPostSwitch(object sender, VRModeSwitchManager.VRModeEventArgs args)
{
if (_pickupObject != null)
{
@ -30,4 +30,4 @@ public class CVRPickupObjectTracker : MonoBehaviour
(_storedGripOrigin, _pickupObject.gripOrigin) = (_pickupObject.gripOrigin, _storedGripOrigin);
}
}
}
}

View file

@ -17,7 +17,7 @@ public class CVRWorldTracker : VRModeTracker
VRModeSwitchManager.OnPostVRModeSwitch -= OnPostSwitch;
}
private void OnPostSwitch(bool intoVR)
private void OnPostSwitch(object sender, VRModeSwitchManager.VRModeEventArgs args)
{
DesktopVRSwitch.Logger.Msg("Configuring CVRWorld. Updating PostProcessing & DesktopCameraController FOV settings.");

View file

@ -14,10 +14,10 @@ public class CVR_InteractableManagerTracker : VRModeTracker
VRModeSwitchManager.OnPostVRModeSwitch -= OnPostSwitch;
}
private void OnPostSwitch(bool intoVR)
private void OnPostSwitch(object sender, VRModeSwitchManager.VRModeEventArgs args)
{
DesktopVRSwitch.Logger.Msg($"Setting CVRInputManager inputEnabled & CVR_InteractableManager enableInteractions to {!intoVR}");
DesktopVRSwitch.Logger.Msg($"Setting CVRInputManager inputEnabled & CVR_InteractableManager enableInteractions to {!args.IsUsingVr}");
CVR_InteractableManager.enableInteractions = !intoVR;
CVR_InteractableManager.enableInteractions = !args.IsUsingVr;
}
}

View file

@ -17,19 +17,19 @@ public class CVR_MenuManagerTracker : VRModeTracker
VRModeSwitchManager.OnPostVRModeSwitch -= OnPostSwitch;
}
private void OnPreSwitch(bool intoVR)
private void OnPreSwitch(object sender, VRModeSwitchManager.VRModeEventArgs args)
{
DesktopVRSwitch.Logger.Msg("Closing CVR_MenuManager - Quick Menu.");
CVR_MenuManager.Instance.ToggleQuickMenu(false);
}
private void OnPostSwitch(bool intoVR)
private void OnPostSwitch(object sender, VRModeSwitchManager.VRModeEventArgs args)
{
DesktopVRSwitch.Logger.Msg("Updating CVR_Menu_Data core data.");
CVR_MenuManager.Instance.coreData.core.inVr = intoVR;
CVR_MenuManager.Instance.coreData.core.inVr = args.IsUsingVr;
CVR_MenuManager.Instance.quickMenu.transform.localPosition = Vector3.zero;
CVR_MenuManager.Instance.quickMenu.transform.localRotation = Quaternion.identity;
}
}
}

View file

@ -18,9 +18,8 @@ public class CameraFacingObjectTracker : MonoBehaviour
VRModeSwitchManager.OnPostVRModeSwitch -= OnPostSwitch;
}
public void OnPostSwitch(bool intoVR)
public void OnPostSwitch(object sender, VRModeSwitchManager.VRModeEventArgs args)
{
// TODO: cache camera
_cameraFacingObject.m_Camera = Utils.GetPlayerCameraObject(intoVR).GetComponent<Camera>();
_cameraFacingObject.m_Camera = args.PlayerCamera;
}
}

View file

@ -14,8 +14,8 @@ public class CheckVRTracker : VRModeTracker
VRModeSwitchManager.OnPostVRModeSwitch -= OnPostSwitch;
}
private void OnPostSwitch(bool intoVR)
private void OnPostSwitch(object sender, VRModeSwitchManager.VRModeEventArgs args)
{
CheckVR.Instance.hasVrDeviceLoaded = intoVR;
CheckVR.Instance.hasVrDeviceLoaded = args.IsUsingVr;
}
}

View file

@ -16,11 +16,11 @@ public class CohtmlHudTracker : VRModeTracker
VRModeSwitchManager.OnPostVRModeSwitch -= OnPostSwitch;
}
private void OnPostSwitch(bool intoVR)
private void OnPostSwitch(object sender, VRModeSwitchManager.VRModeEventArgs args)
{
DesktopVRSwitch.Logger.Msg("Configuring new hud affinity for CohtmlHud.");
CohtmlHud.Instance.gameObject.transform.parent = Utils.GetPlayerCameraObject(intoVR).transform;
CohtmlHud.Instance.gameObject.transform.parent = Utils.GetPlayerCameraObject(args.IsUsingVr).transform;
// This handles rotation and position
CVRTools.ConfigureHudAffinity();
CohtmlHud.Instance.gameObject.transform.localScale = new Vector3(1.2f, 1f, 1.2f);

View file

@ -14,11 +14,11 @@ public class HudOperationsTracker : VRModeTracker
VRModeSwitchManager.OnPostVRModeSwitch -= OnPostSwitch;
}
private void OnPostSwitch(bool intoVR)
private void OnPostSwitch(object sender, VRModeSwitchManager.VRModeEventArgs args)
{
DesktopVRSwitch.Logger.Msg("Switching HudOperations worldLoadingItem & worldLoadStatus.");
HudOperations.Instance.worldLoadingItem = intoVR ? HudOperations.Instance.worldLoadingItemVr : HudOperations.Instance.worldLoadingItemDesktop;
HudOperations.Instance.worldLoadStatus = intoVR ? HudOperations.Instance.worldLoadStatusVr : HudOperations.Instance.worldLoadStatusDesktop;
HudOperations.Instance.worldLoadingItem = args.IsUsingVr ? HudOperations.Instance.worldLoadingItemVr : HudOperations.Instance.worldLoadingItemDesktop;
HudOperations.Instance.worldLoadStatus = args.IsUsingVr ? HudOperations.Instance.worldLoadStatusVr : HudOperations.Instance.worldLoadStatusDesktop;
}
}

View file

@ -20,7 +20,7 @@ public class IKSystemTracker : VRModeTracker
VRModeSwitchManager.OnPostVRModeSwitch -= OnPostSwitch;
}
private void OnPreSwitch(bool intoVR)
private void OnPreSwitch(object sender, VRModeSwitchManager.VRModeEventArgs args)
{
BodySystem.TrackingEnabled = false;
BodySystem.TrackingPositionWeight = 0f;
@ -30,7 +30,7 @@ public class IKSystemTracker : VRModeTracker
IKSystem.vrik.enabled = false;
}
private void OnFailedSwitch(bool intoVR)
private void OnFailedSwitch(object sender, VRModeSwitchManager.VRModeEventArgs args)
{
BodySystem.TrackingEnabled = true;
BodySystem.TrackingPositionWeight = 1f;
@ -40,7 +40,7 @@ public class IKSystemTracker : VRModeTracker
IKSystem.vrik.enabled = true;
}
private void OnPostSwitch(bool intoVR)
private void OnPostSwitch(object sender, VRModeSwitchManager.VRModeEventArgs args)
{
if (IKSystem.vrik != null)
UnityEngine.Object.DestroyImmediate(IKSystem.vrik);
@ -54,12 +54,12 @@ public class IKSystemTracker : VRModeTracker
BodySystem.isRecalibration = false;
// Make it so you don't instantly end up in FBT from Desktop
IKSystem.firstAvatarLoaded = DesktopVRSwitch.EntryEnterCalibrationOnSwitch.Value;
IKSystem.firstAvatarLoaded = ModSettings.EntryEnterCalibrationOnSwitch.Value;
// Turn off finger tracking just in case the user switched controllers
IKSystem.Instance.FingerSystem.controlActive = false;
SetupSteamVRTrackingModule(intoVR);
SetupSteamVRTrackingModule(args.IsUsingVr);
}
private void SetupSteamVRTrackingModule(bool enableVR)
@ -69,13 +69,9 @@ public class IKSystemTracker : VRModeTracker
if (openVRModule != null)
{
if (enableVR)
{
openVRModule.ModuleStart();
}
else
{
openVRModule.ModuleDestroy();
}
}
else if (enableVR)
{

View file

@ -17,16 +17,16 @@ public class MetaPortTracker : VRModeTracker
VRModeSwitchManager.OnPostVRModeSwitch -= OnPostSwitch;
}
private void OnPostSwitch(bool intoVR)
private void OnPostSwitch(object sender, VRModeSwitchManager.VRModeEventArgs args)
{
DesktopVRSwitch.Logger.Msg($"Setting MetaPort isUsingVr to {intoVR}.");
DesktopVRSwitch.Logger.Msg($"Setting MetaPort isUsingVr to {args.IsUsingVr}.");
// Main thing most of the game checks for if using VR
MetaPort.Instance.isUsingVr = intoVR;
MetaPort.Instance.isUsingVr = args.IsUsingVr;
// replace
UpdateRichPresence();
ResetSteamVROverrides(intoVR);
ResetSteamVROverrides(args.IsUsingVr);
}
private void UpdateRichPresence()

View file

@ -23,7 +23,7 @@ public class MovementSystemTracker : VRModeTracker
VRModeSwitchManager.OnPostVRModeSwitch -= OnPostSwitch;
}
private void OnPreSwitch(bool intoVR)
private void OnPreSwitch(object sender, VRModeSwitchManager.VRModeEventArgs args)
{
DesktopVRSwitch.Logger.Msg("Storing player world position and rotation.");
@ -39,17 +39,17 @@ public class MovementSystemTracker : VRModeTracker
}
private void OnFailedSwitch(bool intoVR)
private void OnFailedSwitch(object sender, VRModeSwitchManager.VRModeEventArgs args)
{
DesktopVRSwitch.Logger.Msg("Resetting MovementSystem mobility.");
MovementSystem.Instance.SetImmobilized(false);
}
private void OnPostSwitch(bool intoVR)
private void OnPostSwitch(object sender, VRModeSwitchManager.VRModeEventArgs args)
{
// Lazy
MelonLoader.MelonCoroutines.Start(TeleportFrameAfter(intoVR));
MelonLoader.MelonCoroutines.Start(TeleportFrameAfter(args.IsUsingVr));
}
private IEnumerator TeleportFrameAfter(bool intoVR)

View file

@ -14,11 +14,11 @@ public class PlayerSetupTracker : VRModeTracker
VRModeSwitchManager.OnPostVRModeSwitch -= OnPostSwitch;
}
private void OnPostSwitch(bool intoVR)
private void OnPostSwitch(object sender, VRModeSwitchManager.VRModeEventArgs args)
{
DesktopVRSwitch.Logger.Msg("Switching active PlayerSetup camera rigs. Updating Desktop camera FOV.");
PlayerSetup.Instance.desktopCameraRig.SetActive(!intoVR);
PlayerSetup.Instance.vrCameraRig.SetActive(intoVR);
PlayerSetup.Instance.desktopCameraRig.SetActive(!args.IsUsingVr);
PlayerSetup.Instance.vrCameraRig.SetActive(args.IsUsingVr);
}
}

View file

@ -14,7 +14,7 @@ public class PortableCameraTracker : VRModeTracker
VRModeSwitchManager.OnPostVRModeSwitch -= OnPostSwitch;
}
private void OnPostSwitch(bool intoVR)
private void OnPostSwitch(object sender, VRModeSwitchManager.VRModeEventArgs args)
{
DesktopVRSwitch.Logger.Msg("Forcing PortableCamera canvas mirroring off.");

View file

@ -1,7 +1,7 @@
namespace NAK.DesktopVRSwitch.VRModeTrackers;
public class VRModeTracker
public abstract class VRModeTracker
{
public virtual void TrackerInit() { }
public virtual void TrackerDestroy() { }
}
}

View file

@ -14,7 +14,7 @@ public class ViewManagerTracker : VRModeTracker
VRModeSwitchManager.OnPreVRModeSwitch -= OnPreSwitch;
}
private void OnPreSwitch(bool intoVR)
private void OnPreSwitch(object sender, VRModeSwitchManager.VRModeEventArgs args)
{
DesktopVRSwitch.Logger.Msg("Closing ViewManager - Main Menu.");