[Unity]Inspectorで要素が変更されたかどうかを確認する

  • Day:2012.12.25 21:31
  • Cat:Unity
Inspectorで要素が変更されたかどうかを確認するためには
EditorGUI.BeginChangeCheck
EditorGUI.EndChangeCheckを使用します。

拡張したいコンポーネントのクラス

using UnityEngine;

public class Pokemon : MonoBehaviour
{
public string Name;
public float Height;
public float Weight;
}
拡張エディタクラス

using UnityEngine;
using UnityEditor;

[CustomEditor(typeof(Pokemon))]
public class PokemonEditor : Editor
{
public override void OnInspectorGUI()
{
var pokemon = target as Pokemon;

EditorGUI.BeginChangeCheck();

pokemon.Name = EditorGUILayout.TextField("名前", pokemon.Name);
pokemon.Height = EditorGUILayout.FloatField("高さ", pokemon.Height);
pokemon.Weight = EditorGUILayout.FloatField("重さ", pokemon.Weight);

if (EditorGUI.EndChangeCheck())
{
Debug.Log("Changed");
}
}
}

ss01_20130106213225.png
ss02_20130106213226.png

Unity Script Reference – EditorGUI.BeginChangeCheck
Unity Script Reference – EditorGUI.EndChangeCheck

Comment

Comment Form
公開設定

Trackback


→ この記事にトラックバックする(FC2ブログユーザー)
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。