【Unity】値が変わった時にUnityEditorを一時停止する

概要

ObserveEveryValueChangedを使うと、値の変動を検知して処理を差し込むことができます。
今回はthisのlocalPosition.xが1になった時、実行中のUnityEditorを一時停止します。

環境

  • OSX El Capitan v10.11.4
  • Unity v5.3.5f1

コード

using UniRx;

Start()
{
	this
		.ObserveEveryValueChanged(t => t.transform.localPosition)
		.Where(tPosition => tPosition.x == 1)
		.Subscribe(_ =>
			{
				UnityEditor.EditorApplication.isPaused = true;
			}
		);
}