2024-06-23 19:12:22 +01:00

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();
}
}
}
}