Пример #1
0
        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);
            }
        }
Пример #2
0
        public override float GetPropertyHeight(SerializedProperty property, GUIContent label)
        {
            InspectorButtonAttribute inspectorButtonAttribute = (InspectorButtonAttribute)attribute;

            return(inspectorButtonAttribute.buttonHeight);
        }