internal static void UnloadOncePerScene()
 {
     if (_instanceOnCurrentScene != null)
     {
         _instanceOnCurrentScene = null;
     }
 }
    void Awake()
    {
        if (_instanceOnCurrentScene != null)
        {
            new UnityException("[onAirXR] ERROR: There must exist only one AirXRCameraRigManager at a time.");
        }
        _instanceOnCurrentScene = this;

        _cameraRigList  = new AirXRCameraRigList();
        eventDispatcher = new AirXRServerEventDispatcher();
    }
 internal static void LoadOncePerScene()
 {
     if (_instanceOnCurrentScene == null)
     {
         _instanceOnCurrentScene = FindObjectOfType <AirXRCameraRigManager>();
         if (_instanceOnCurrentScene == null)
         {
             var go = new GameObject("AirXRCameraRigManager");
             go.AddComponent <AirXRCameraRigManager>();
             Assert.IsTrue(_instanceOnCurrentScene != null);
         }
     }
 }
Example #4
0
    private void OnDestroy()
    {
        if (Application.isPlaying == false)
        {
            return;
        }

        if (AirXRCameraRigManager.CheckIfExistManagerOnCurrentScene())
        {
            AirXRCameraRigManager.managerOnCurrentScene.eventDispatcher.MessageReceived -= onAirXRMessageReceived;
            AirXRCameraRigManager.managerOnCurrentScene.UnregisterCameraRig(this);
        }
    }