/// <summary> /// GUI for showing the image type and associated settings. /// </summary> protected void TypeGUI() { EditorGUILayout.PropertyField(m_PreImage, m_PreImageContent, new GUILayoutOption[0]); ImageMirror.PreImage preImg = (ImageMirror.PreImage)m_PreImage.enumValueIndex; bool flag = !m_Sliced.hasMultipleDifferentValues && m_Sliced.boolValue; if (flag && targets.Length > 1) { flag = (from obj in targets select obj as ImageMirror).All((ImageMirror img) => img.hasBorder); } EditorGUILayout.PropertyField(m_Sliced, m_SlicedContent); EditorGUI.indentLevel++; m_ShowSliced.target = (flag && !m_Sliced.hasMultipleDifferentValues && m_Sliced.boolValue); ImageMirror image = target as ImageMirror; if (EditorGUILayout.BeginFadeGroup(m_ShowSliced.faded)) { if (image.hasBorder) { EditorGUILayout.PropertyField(m_FillCenter); } else { EditorGUILayout.HelpBox("This Image doesn't have a border.", MessageType.Warning); } } EditorGUILayout.EndFadeGroup(); EditorGUI.indentLevel--; }
protected override void OnEnable() { base.OnEnable(); m_SpriteContent = new GUIContent("Source Image"); m_PreImageContent = new GUIContent("Image Type"); m_SlicedContent = new GUIContent("Sliced Image"); m_Sprite = serializedObject.FindProperty("m_Sprite"); m_PreImage = serializedObject.FindProperty("m_PreImage"); m_Sliced = serializedObject.FindProperty("m_Sliced"); m_FillCenter = serializedObject.FindProperty("m_FillCenter"); m_PreserveAspect = serializedObject.FindProperty("m_PreserveAspect"); m_ShowType = new AnimBool(m_Sprite.objectReferenceValue != null); m_ShowType.valueChanged.AddListener(Repaint); ImageMirror.PreImage enumValueIndex = (ImageMirror.PreImage)m_PreImage.enumValueIndex; m_ShowSliced = new AnimBool(!m_Sliced.hasMultipleDifferentValues && m_Sliced.boolValue); m_ShowSliced.valueChanged.AddListener(Repaint); SetShowNativeSize(true); }