青空の月

PHP, Unity, C#, アプリ開発関連について。

EditorApplication.NewSceneを使ったらエラーが出た。

EditorWindowのボタンから新しいシーンを下の様に「EditorApplication.NewScene」を使って作成しようとしたらエラーが出た。

void OnGUI()
	{
		if (GUILayout.Button("NewScene", GUI.skin.button))
		{
			EditorApplication.NewScene();
		}

	}

 

思い当たるトコが無かったけど、なんか、「NullReferenceException」のエラー。

NullReferenceException: Object reference not set to an instance of an object
UnityEngine.GUILayoutUtility.EndLayoutGroup ()
UnityEngine.GUILayout.EndHorizontal ()

System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture)

 

 

 

このエラーを解決するには「EditorGUIUtility.ExitGUI」を使えばいいらしい。こんな感じ。

void OnGUI()
    {
		if (GUILayout.Button("NewScene", GUI.skin.button))
		{
			EditorApplication.NewScene();
			EditorGUIUtility.ExitGUI();
		}

	}

 

これでエラーが出ないようになった。EditorWindowのGUI描画に関する問題と言う事か。「ExitGUI」って使った事なかったけど