using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.XR.Management;
namespace CubeWalk
{
<summary>
</summary>
public class VRSwitcher : MonoBehaviour
{
<summary>
</summary>
[SerializeField] List<GameObject> keyMouseObjects;
<summary>
</summary>
[SerializeField] List<GameObject> vrObjects;
<summary>
</summary>
[SerializeField] Transform vrAssets;
<summary>
</summary>
[SerializeField] Transform players;
public void EnableVR()
{
StartCoroutine(this.CoEnableVR());
}
public void Enable2D()
{
XRGeneralSettings.Instance.Manager.StopSubsystems();
XRGeneralSettings.Instance.Manager.DeinitializeLoader();
foreach (var item in this.vrObjects)
{
item.SetActive(false);
}
foreach (var item in this.keyMouseObjects)
{
item.SetActive(true);
}
}
IEnumerator CoEnableVR()
{
yield return XRGeneralSettings.Instance.Manager.InitializeLoader();
while (!XRGeneralSettings.Instance.Manager.isInitializationComplete)
{
yield return null;
}
XRGeneralSettings.Instance.Manager.StartSubsystems();
foreach (Transform vrm in this.players)
{
if("Player" == vrm.tag)
{
this.vrAssets.position = vrm.position;
break;
}
}
foreach (var item in this.keyMouseObjects)
{
item.SetActive(false);
}
foreach (var item in this.vrObjects)
{
item.SetActive(true);
}
}
}
}