Example #1
0
        public override float GetPropertyHeight(SerializedProperty property, GUIContent label)
        {
            ImageAttribute imageSettings = (ImageAttribute)attribute;
            float          size          = (imageSettings.size == 0f ? 70f : imageSettings.size);

            return(size);
        }
Example #2
0
        public override void OnGUI(Rect position,
                                   SerializedProperty property,
                                   GUIContent label)
        {
            if (property.propertyType == SerializedPropertyType.String)
            {
                ImageAttribute imageSettings = (ImageAttribute)attribute;
                float          size          = (imageSettings.size == 0f ? 70f : imageSettings.size);
                TextAnchor     alignement    = TextAnchor.MiddleCenter;
                switch (imageSettings.alignement)
                {
                case ImageAlignement.Left:
                    alignement = TextAnchor.MiddleLeft;
                    break;

                case ImageAlignement.Right:
                    alignement = TextAnchor.MiddleRight;
                    break;

                case ImageAlignement.Center:
                    alignement = TextAnchor.MiddleCenter;
                    break;
                }


                Texture2D image = AssetDatabase.LoadAssetAtPath(property.stringValue, typeof(Texture2D)) as Texture2D;

                GUIStyle imageStyle = new GUIStyle(GUI.skin.label);
                imageStyle.alignment     = alignement;
                imageStyle.imagePosition = ImagePosition.ImageOnly;
                imageStyle.fixedHeight   = size;

                EditorGUI.LabelField(position, new GUIContent(image), imageStyle);
            }
            else
            {
                EditorGUI.PropertyField(position, property, label, true);
            }
        }