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); } } }
private void OnDestroy() { if (Application.isPlaying == false) { return; } if (AirXRCameraRigManager.CheckIfExistManagerOnCurrentScene()) { AirXRCameraRigManager.managerOnCurrentScene.eventDispatcher.MessageReceived -= onAirXRMessageReceived; AirXRCameraRigManager.managerOnCurrentScene.UnregisterCameraRig(this); } }