61 lines
2.1 KiB
C#
61 lines
2.1 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using UnityEditor;
|
|
using MBT;
|
|
|
|
namespace MBTEditor
|
|
{
|
|
[CustomEditor(typeof(IsSetCondition))]
|
|
public class IsSetConditionEditor : Editor
|
|
{
|
|
SerializedProperty titleProp;
|
|
SerializedProperty abortProp;
|
|
SerializedProperty boolReferenceProp;
|
|
SerializedProperty objectReferenceProp;
|
|
SerializedProperty transformReferenceProp;
|
|
SerializedProperty typeProp;
|
|
SerializedProperty invertProp;
|
|
|
|
void OnEnable()
|
|
{
|
|
titleProp = serializedObject.FindProperty("title");
|
|
boolReferenceProp = serializedObject.FindProperty("boolReference");
|
|
objectReferenceProp = serializedObject.FindProperty("objectReference");
|
|
transformReferenceProp = serializedObject.FindProperty("transformReference");
|
|
abortProp = serializedObject.FindProperty("abort");
|
|
typeProp = serializedObject.FindProperty("type");
|
|
invertProp = serializedObject.FindProperty("invert");
|
|
}
|
|
|
|
public override void OnInspectorGUI()
|
|
{
|
|
serializedObject.Update();
|
|
EditorGUI.BeginChangeCheck();
|
|
|
|
EditorGUILayout.PropertyField(titleProp);
|
|
EditorGUILayout.PropertyField(abortProp);
|
|
EditorGUILayout.PropertyField(invertProp);
|
|
EditorGUILayout.Space();
|
|
EditorGUILayout.PropertyField(typeProp);
|
|
if (typeProp.enumValueIndex == (int)IsSetCondition.Type.Boolean)
|
|
{
|
|
EditorGUILayout.PropertyField(boolReferenceProp, new GUIContent("Variable"));
|
|
}
|
|
else if (typeProp.enumValueIndex == (int)IsSetCondition.Type.GameObject)
|
|
{
|
|
EditorGUILayout.PropertyField(objectReferenceProp, new GUIContent("Variable"));
|
|
}
|
|
else
|
|
{
|
|
EditorGUILayout.PropertyField(transformReferenceProp, new GUIContent("Variable"));
|
|
}
|
|
|
|
if (EditorGUI.EndChangeCheck())
|
|
{
|
|
serializedObject.ApplyModifiedProperties();
|
|
}
|
|
}
|
|
}
|
|
}
|