/// <summary> /// Adds the new instance to array. /// </summary> /// <param name="obj">Object.</param> public void AddNewInstanceToArray(object obj) { ScriptableObject asset = obj as ScriptableObject; _finalize.arraySize++; _finalize.GetArrayElementAtIndex(_finalize.arraySize - 1).objectReferenceValue = asset; MapboxDataProperty mapboxDataProperty = (MapboxDataProperty)EditorHelper.GetTargetObjectWithProperty(_finalize); if (_finalize.serializedObject.ApplyModifiedProperties() && mapboxDataProperty != null) { mapboxDataProperty.HasChanged = true; } }
public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) { float buttonWidth = EditorGUIUtility.singleLineHeight * 4; Rect fieldRect = new Rect(position.x, position.y, position.width - buttonWidth, EditorGUIUtility.singleLineHeight); Rect buttonRect = new Rect(position.x + position.width - buttonWidth, position.y, buttonWidth, EditorGUIUtility.singleLineHeight); EditorGUI.PropertyField(fieldRect, property); if (GUI.Button(buttonRect, searchButtonContent)) { object objectToUpdate = EditorHelper.GetTargetObjectWithProperty(property); GeocodeAttributeSearchWindow.Open(property, objectToUpdate); } }