青空の月

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

再生中にスクリプト編集しちゃった時に自動で停止させる

Unity Editor上でプレイ中にスクリプトを修正してUnityにフォーカスしてビルドが始まっちゃう→エラーになるって事をよくやってしまう。

自分はスクリプトを編集したら、再生ボタンを押して最初からやるので、どうせエラーになるならプレイ中にスクリプトをいじったら自動で停止させる様に拡張してみた。

 

using UnityEngine;
using UnityEditor;

[InitializeOnLoad]
public class PlaymodeStop
{
    static PlaymodeStop()
	{
		EditorApplication.update += Update;
	}



	static void Update()
	{
		if (EditorApplication.isCompiling && EditorApplication.isPlaying)
		{
			EditorApplication.isPlaying = false;
			Debug.Log("PlaymodeStop !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ");
		}
	}

}

 

プレイ中にInspectorなどで変更した値とかも停止でリセットされるのでその点だけ注意。その辺を上手い事制御したいなら、メニューから切り替えられるようにしてEditorPrefsにOn、Offを保存するとかかなぁ。