public override void OnInspectorGUI() { serializedObject.Update(); itemsListProp.isExpanded = EditorGUILayout.Foldout(itemsListProp.isExpanded, new GUIContent("Items list"), true); if (itemsListProp.isExpanded) { EditorGUI.indentLevel++; itemsListProp.arraySize = EditorGUILayout.IntField(new GUIContent("Size"), itemsListProp.arraySize); for (int i = 0; i < itemsListProp.arraySize; i++) { EditorGUILayout.ObjectField(itemsListProp.GetArrayElementAtIndex(i), new GUIContent($"Item {i}")); } EditorGUI.indentLevel--; } EditorGUILayout.Separator(); EditorGUILayout.PropertyField(strIdProp); EditorGUILayout.PropertyField(idProp); if (GUILayout.Button("Open Editor")) { ItemDataEditorWindow.Open((ItemGroup)target); } serializedObject.ApplyModifiedProperties(); }
public static bool OpenEditor(int instanceId, int line) { ItemGroup obj = EditorUtility.InstanceIDToObject(instanceId) as ItemGroup; if (obj != null) { ItemDataEditorWindow.Open(obj); return(true); } return(false); }
public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) { EditorGUI.PropertyField(position, property); var buttonRect = new Rect(position.x, position.y, 170, position.height); if (property.objectReferenceValue != null) { if (GUI.Button(buttonRect, new GUIContent("Open Editor of " + label.text))) { ItemDataEditorWindow.Open(property.objectReferenceValue as ItemGroup); } } //base.OnGUI(position, property, label); }
public static void Open(ItemGroup dataObject) { ItemDataEditorWindow window = GetWindow <ItemDataEditorWindow>("Item Group Editor"); window.serializedObject = new SerializedObject(dataObject); }