public override void OnInspectorGUI() { Scene targetData = target as Scene; DrawDefaultInspector(); #if false if (targetData.sceneNodesData == null || targetData.sceneNodesData.Length == 0) { targetData.sceneNodesData = new SceneData.SceneNodeData[1]; targetData.sceneNodesData[0] = new SceneData.SceneNodeData(); } for (int i = 0; i < targetData.sceneNodesData.Length; i++) { DrawSceneNodeField(targetData.sceneNodesData[i], i * 220); } #endif #if true GUICommon.DrawLineSpace(5f, 5f); GUICommon.DrawLineSpace(5f, 5f); #if false if (GUILayout.Button("Save as XML")) { string xmlData = ViNoGameSaveLoad.SerializeObject <SceneData.SceneNodeData[]>(targetData.sceneNodesData); ViNoGameSaveLoad.CreateXML(targetData.name + ".xml", xmlData); AssetDatabase.Refresh(); EditorUtility.FocusProjectWindow(); } EditorGUILayout.BeginHorizontal(); sceneXmlFile = EditorGUILayout.ObjectField(sceneXmlFile, typeof(TextAsset), false) as TextAsset; GUI.enabled = (sceneXmlFile == null) ? false : true; if (GUILayout.Button("Load XML")) { targetData.sceneNodesData = ViNoGameSaveLoad.DeserializeObject <SceneData.SceneNodeData[]>(sceneXmlFile.text) as SceneData.SceneNodeData[]; EditorUtility.SetDirty(targetData); } GUI.enabled = true; EditorGUILayout.EndHorizontal(); #endif if (!Application.isPlaying) { GUI.enabled = false; EditorGUILayout.HelpBox("Save Scene : PlayMode Only. \n Save under the \"ADVScene\" objects data.", MessageType.Info); } EditorGUILayout.BeginHorizontal(); // GUILayout.Space( 20f ); if (GUILayout.Button("Save Scene", GUILayout.Height(44f))) { // if( EditorUtility.DisplayDialog( "Warning" , "Do you really want to overwrite ?" , "ok" , "cancel" ) ){ ViNoSceneManager.FindInstance(); ViNoSceneManager.Instance.SaveSceneNodes(); targetData.sceneNodesData = ViNoSceneManager.Instance.GetSceneData().m_DataArray; // } // Application.CaptureScreenshot( "Assets/A Scene.png" ); } GUI.enabled = true; if (GUILayout.Button("Load Scene", GUILayout.Height(44f))) { // if( EditorUtility.DisplayDialog( "Warning" , "Do you really want to apply ?" , "ok" , "cancel" ) ){ Undo.RegisterSceneUndo("Load Scene"); SceneCreator.Create(targetData); // } } // GUILayout.Space( 20f ); EditorGUILayout.EndHorizontal(); EditorGUILayout.HelpBox("Clear under the \"ADVScene\" objects", MessageType.Info); if (GUILayout.Button("Clear Scene", GUILayout.Height(44f))) { ViNoSceneManager sm = GameObject.FindObjectOfType(typeof(ViNoSceneManager)) as ViNoSceneManager; SceneCreator.DestroySceneImmediate(sm.theSavedPanel); } #endif }