public void OnEnable() { instance = this; //Disable all objects List <GameObject> rootObjects = new List <GameObject>(); Scene scene = SceneManager.GetActiveScene(); scene.GetRootGameObjects(rootObjects); for (int i = 0; i < rootObjects.Count; ++i) { GameObject gameObject = rootObjects[i]; gameObject.SetActive(false); gameObject.hideFlags = HideFlags.HideInHierarchy; } //Generate camera GameObject cameraObject = new GameObject(); cameraObject.name = "PreviewCamera"; instantiatedObjects.Add(cameraObject); camera = cameraObject.AddComponent <Camera>(); cameraObject.transform.position = new Vector3(0, 0, -8); //Generate preview object currentPreviewObject = Instantiate(Resources.Load <GameObject>("FeedbackToolResources/PreviewMesh")); currentPreviewObject.transform.position = Vector3.zero; //Generate preview panel GameObject previewPanel = Instantiate(Resources.Load <GameObject>("FeedbackToolResources/PreviewPanel")); previewPanel.transform.position = new Vector3(0, 0, 4); instantiatedObjects.Add(previewPanel); }
public void PreviewFeedback(FeedbackData _data) { if (FeedbackPreviewer.instance == null) { FeedbackPreviewer previewWindow = ScriptableObject.CreateInstance <FeedbackPreviewer>(); previewWindow.Show(); } FeedbackPreviewer.instance.PreviewFeedback(_data); }
private void OnDestroy() { foreach (GameObject obj in instantiatedObjects) { DestroyImmediate(obj); } if (currentPreviewObject) { DestroyImmediate(currentPreviewObject); } List <GameObject> rootObjects = new List <GameObject>(); Scene scene = SceneManager.GetActiveScene(); scene.GetRootGameObjects(rootObjects); for (int i = 0; i < rootObjects.Count; ++i) { GameObject gameObject = rootObjects[i]; gameObject.SetActive(true); gameObject.hideFlags = HideFlags.None; } instance = null; }