using UnityEditor; using UnityEngine; namespace SpellBoundAR.Items.Editor { [CustomEditor(typeof(ScriptedItemInstanceData), true)] public class ScriptedItemInstanceDataInspector : UnityEditor.Editor { private ScriptedItemInstanceData _scriptedItemInstanceData; private void OnEnable() { if (target) _scriptedItemInstanceData = (ScriptedItemInstanceData) target; } public override void OnInspectorGUI() { GUILayout.Space(10); EditorGUILayout.BeginVertical(Styles.Subbox, GUILayout.MinHeight(30)); GUILayout.Label("Scripted Instance Settings", Styles.H3, GUILayout.ExpandWidth(true)); EditorGUI.indentLevel++; EditorGUILayout.PropertyField(serializedObject.FindProperty("id")); EditorGUILayout.PropertyField(serializedObject.FindProperty("type")); EditorGUILayout.Space(); EditorGUILayout.PropertyField(serializedObject.FindProperty("initiallyVisible")); EditorGUILayout.PropertyField(serializedObject.FindProperty("initiallyInteractable")); EditorGUILayout.Space(); GUILayout.Label("Interactable: " + (_scriptedItemInstanceData && _scriptedItemInstanceData.Interactable)); GUILayout.Label("Visible: " + (_scriptedItemInstanceData && _scriptedItemInstanceData.Visible)); EditorGUI.BeginDisabledGroup(!_scriptedItemInstanceData); if (GUILayout.Button("Remove Instance")) { ItemsManipulator.RemoveInstanceFromItemType(_scriptedItemInstanceData); return; } EditorGUI.EndDisabledGroup(); EditorGUI.indentLevel--; EditorGUILayout.EndVertical(); } } }