private void DestroyPreview() { if (mPreviewVisual != null) { DestroyImmediate(mPreviewVisual.gameObject); mPreviewVisual = null; } }
private void UpdatePreview() { if (Application.isPlaying) { DestroyPreview(); return; } if (mEmulator == null) { mEmulator = FindObjectOfType <VREmulator>(); } if (mEmulator == null) { return; } // Do we need to create a new preview? // Only if th device has changed, or there is currently no preview visible if (mEmulator.EmulatorDevice == mPreviewDevice && mPreviewVisual != null) { return; } DestroyPreview(); mPreviewDevice = mEmulator.EmulatorDevice; mPreviewVisual = CreateEditorPreivew(mPreviewDevice); if (mPreviewVisual != null) { mPreviewVisual.transform.SetParentAndIdentity(transform); mPreviewVisual.gameObject.hideFlags = HideFlags.HideAndDontSave | HideFlags.NotEditable; mPreviewVisual.gameObject.SetActive(true); // Hide any pointer visuals, because they can be annoying! foreach (var ptrVis in mPreviewVisual.GetComponentsInChildren <LaserPointerVisual>(true)) { ptrVis.gameObject.SetActive(false); } } }