Files
2026-02-09 23:53:14 +01:00

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