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
    }