This commit is contained in:
NotAKidoS 2023-01-03 16:45:32 -06:00
parent 81affe9377
commit 845baee849
4 changed files with 45 additions and 26 deletions

View file

@ -43,21 +43,18 @@ public class QuickMenuHelper : MonoBehaviour
UpdateMenuPosition();
}
void OnDisable()
void OnEnable()
{
independentHeadTurn = false;
returnIndependentHeadTurn = false;
prevIndependentHeadTurn = false;
}
public void ToggleDesktopInputMethod(bool flag)
void OnDisable()
{
if (MetaPort.Instance.isUsingVr) return;
PlayerSetup.Instance._movementSystem.disableCameraControl = flag;
CVRInputManager.Instance.inputEnabled = !flag;
RootLogic.Instance.ToggleMouse(flag);
CVR_MenuManager.Instance.desktopControllerRay.enabled = !flag;
Traverse.Create(CVR_MenuManager.Instance).Field("_desktopMouseMode").SetValue(flag);
independentHeadTurn = false;
returnIndependentHeadTurn = false;
prevIndependentHeadTurn = false;
}
public void CreateWorldAnchors()
@ -85,6 +82,7 @@ public class QuickMenuHelper : MonoBehaviour
return;
}
float angle = (float)ms_followAngleY.GetValue(MovementSystem.Instance);
bool independentHeadTurnChanged = CVRInputManager.Instance.independentHeadTurn != prevIndependentHeadTurn;
if (independentHeadTurnChanged)
{
@ -92,10 +90,10 @@ public class QuickMenuHelper : MonoBehaviour
//if pressing but not already enabled
if (prevIndependentHeadTurn)
{
if (!independentHeadTurn)
if (!independentHeadTurn && angle == 0f)
{
UpdateWorldAnchors();
ToggleDesktopInputMethod(!prevIndependentHeadTurn);
MSP_MenuInfo.ToggleDesktopInputMethod(!prevIndependentHeadTurn);
independentHeadTurn = true;
}
returnIndependentHeadTurn = false;
@ -108,12 +106,11 @@ public class QuickMenuHelper : MonoBehaviour
if (returnIndependentHeadTurn)
{
float angle = (float)ms_followAngleY.GetValue(MovementSystem.Instance);
if (angle == 0f)
{
independentHeadTurn = false;
returnIndependentHeadTurn = false;
ToggleDesktopInputMethod(!prevIndependentHeadTurn);
MSP_MenuInfo.ToggleDesktopInputMethod(!prevIndependentHeadTurn);
}
}