public override void OnGUI(Rect positionRect, SerializedProperty prop, GUIContent label) { InspectorButtonAttribute inspectorButtonAttribute = (InspectorButtonAttribute)attribute; Rect rect = positionRect; rect.height = inspectorButtonAttribute.buttonHeight; if (GUI.Button(rect, label.text)) { Type eventType = prop.serializedObject.targetObject.GetType(); string eventName = inspectorButtonAttribute.methodName; if (_method == null) { _method = eventType.GetMethod(eventName, BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Static); } _method?.Invoke(prop.serializedObject.targetObject, null); } }
public override float GetPropertyHeight(SerializedProperty property, GUIContent label) { InspectorButtonAttribute inspectorButtonAttribute = (InspectorButtonAttribute)attribute; return(inspectorButtonAttribute.buttonHeight); }