//各シンボルのメニューを作成 private void CreateSymbolMenuParts(DefineSymbol symbol, int symbolNo) { //有効になっているかどうかでスキンを変える EditorGUILayout.BeginVertical(symbol.IsEnabled ? GUI.skin.button : GUI.skin.textField); { //内容の変更チェック開始 EditorGUI.BeginChangeCheck(); string symbolKey = symbol.Key; bool isEnabled = symbol.IsEnabled; EditorGUILayout.BeginHorizontal(); { //内容の変更チェック開始 EditorGUI.BeginChangeCheck(); //チェックボックス作成 isEnabled = EditorGUILayout.Toggle(isEnabled, GUILayout.Width(15)); //シンボル名 EditorGUILayout.LabelField("Symbol", GUILayout.Width(45)); symbolKey = GUILayout.TextField(symbolKey); //最後の新規入力欄以外は削除ボタンを表示 if (symbolNo < SymbolEditor.SymbolList.Count) { if (GUILayout.Button("X", GUILayout.Width(20), GUILayout.Height(14))) { SymbolEditor.Delete(symbolNo); return; } } } EditorGUILayout.EndHorizontal(); EditorGUI.indentLevel = 2; //シンボルに対応する値 string symbolValue = symbol.Value; EditorGUILayout.BeginHorizontal(); { EditorGUILayout.LabelField("Value", GUILayout.Width(64)); symbolValue = GUILayout.TextField(symbolValue); } EditorGUILayout.EndHorizontal(); //シンボルの説明 string symbolInfo = symbol.Info; EditorGUILayout.BeginHorizontal(); { EditorGUILayout.LabelField("Info", GUILayout.Width(64)); symbolInfo = GUILayout.TextField(symbolInfo); } EditorGUILayout.EndHorizontal(); //内容が変更されていれば、シンボルを編集 if (EditorGUI.EndChangeCheck()) { SymbolEditor.EditSymbol(symbolNo, symbolKey, symbolValue, symbolInfo, isEnabled); } } EditorGUILayout.EndVertical(); EditorGUI.indentLevel = 0; }