52 lines
2.3 KiB
C#
52 lines
2.3 KiB
C#
using UnityEditor;
|
|
|
|
namespace OctoCore.Components.Editor
|
|
{
|
|
[CustomEditor(typeof(OctoSaveEvent))]
|
|
public class OctoSaveEventEditor : UnityEditor.Editor
|
|
{
|
|
public override void OnInspectorGUI()
|
|
{
|
|
serializedObject.Update();
|
|
|
|
SerializedProperty dataProp = serializedObject.FindProperty("data");
|
|
EditorGUILayout.PropertyField(dataProp);
|
|
|
|
OctoSaveEvent script = (OctoSaveEvent)target;
|
|
global::OctoCore.Save.Data.OctoData data = dataProp.objectReferenceValue as global::OctoCore.Save.Data.OctoData;
|
|
|
|
if (data != null)
|
|
{
|
|
if (data is global::OctoCore.Save.Data.OctoDataBool)
|
|
{
|
|
EditorGUILayout.PropertyField(serializedObject.FindProperty("invertValue"));
|
|
EditorGUILayout.PropertyField(serializedObject.FindProperty("onInitBool"));
|
|
EditorGUILayout.PropertyField(serializedObject.FindProperty("onChangeBool"));
|
|
}
|
|
else if (data is global::OctoCore.Save.Data.OctoDataInt)
|
|
{
|
|
EditorGUILayout.PropertyField(serializedObject.FindProperty("onInitInt"));
|
|
EditorGUILayout.PropertyField(serializedObject.FindProperty("onChangeInt"));
|
|
}
|
|
else if (data is global::OctoCore.Save.Data.OctoDataFloat)
|
|
{
|
|
EditorGUILayout.PropertyField(serializedObject.FindProperty("onInitFloat"));
|
|
EditorGUILayout.PropertyField(serializedObject.FindProperty("onChangeFloat"));
|
|
}
|
|
else if (data is global::OctoCore.Save.Data.OctoDataString)
|
|
{
|
|
EditorGUILayout.PropertyField(serializedObject.FindProperty("onInitString"));
|
|
EditorGUILayout.PropertyField(serializedObject.FindProperty("onChangeString"));
|
|
}
|
|
else if (data is global::OctoCore.Save.Data.OctoDataVector)
|
|
{
|
|
EditorGUILayout.PropertyField(serializedObject.FindProperty("onInitVector"));
|
|
EditorGUILayout.PropertyField(serializedObject.FindProperty("onChangeVector"));
|
|
}
|
|
}
|
|
|
|
serializedObject.ApplyModifiedProperties();
|
|
}
|
|
}
|
|
|
|
} |