Ejemplo n.º 1
0
 private static void SetVerticalAlignment(SerializedProperty alignment, VerticalTextAligment verticalAlignment)
 {
     foreach (var obj in alignment.serializedObject.targetObjects)
     {
         Text3DRenderer         text = obj as Text3DRenderer;
         HorizontalTextAligment currentHorizontalAligment = GetHorizontalAlgiment(text.Alignment);
         Undo.RecordObject(text, "Vertical Alignment");
         text.Alignment = GetAnchor(verticalAlignment, currentHorizontalAligment);
         EditorUtility.SetDirty(obj);
     }
 }
Ejemplo n.º 2
0
        void OnEnable()
        {
            mTarget = this.target as Text3DRenderer;

            mTextLayoutProp = this.serializedObject.FindProperty("TextLayout");
            mTextProp       = this.mTextLayoutProp.FindPropertyRelative("Text");
            mExtentsProp    = this.mTextLayoutProp.FindPropertyRelative("Extents");
            mFontDataProp   = this.mTextLayoutProp.FindPropertyRelative("FontData");
            mFontColorProp  = this.mTextLayoutProp.FindPropertyRelative("FontColor");
            mTextMatProp    = this.serializedObject.FindProperty("Mat");
        }
Ejemplo n.º 3
0
        private static void DoVerticalAligmentControl(Rect position, SerializedProperty alignment)
        {
            TextAnchor           ta = (TextAnchor)alignment.intValue;
            VerticalTextAligment verticalTextAligment = GetVerticalAlgiment(ta);

            bool topAlign    = (verticalTextAligment == VerticalTextAligment.Top);
            bool middleAlign = (verticalTextAligment == VerticalTextAligment.Middle);
            bool bottomAlign = (verticalTextAligment == VerticalTextAligment.Bottom);

            if (alignment.hasMultipleDifferentValues)
            {
                foreach (var obj in alignment.serializedObject.targetObjects)
                {
                    Text3DRenderer text          = obj as Text3DRenderer;
                    TextAnchor     textAlignment = text.Alignment;
                    verticalTextAligment = GetVerticalAlgiment(textAlignment);
                    topAlign             = topAlign || (verticalTextAligment == VerticalTextAligment.Top);
                    middleAlign          = middleAlign || (verticalTextAligment == VerticalTextAligment.Middle);
                    bottomAlign          = bottomAlign || (verticalTextAligment == VerticalTextAligment.Bottom);
                }
            }


            position.width = kAlignmentButtonWidth;

            // position.x += position.width;
            EditorGUI.BeginChangeCheck();
            EditorToggle(position, topAlign, topAlign ? Styles.m_TopAlignTextActive : Styles.m_TopAlignText, Styles.alignmentButtonLeft);
            if (EditorGUI.EndChangeCheck())
            {
                SetVerticalAlignment(alignment, VerticalTextAligment.Top);
            }

            position.x += position.width;
            EditorGUI.BeginChangeCheck();
            EditorToggle(position, middleAlign, middleAlign ? Styles.m_MiddleAlignTextActive : Styles.m_MiddleAlignText, Styles.alignmentButtonMid);
            if (EditorGUI.EndChangeCheck())
            {
                SetVerticalAlignment(alignment, VerticalTextAligment.Middle);
            }

            position.x += position.width;
            EditorGUI.BeginChangeCheck();
            EditorToggle(position, bottomAlign, bottomAlign ? Styles.m_BottomAlignTextActive : Styles.m_BottomAlignText, Styles.alignmentButtonRight);
            if (EditorGUI.EndChangeCheck())
            {
                SetVerticalAlignment(alignment, VerticalTextAligment.Bottom);
            }
        }
Ejemplo n.º 4
0
        private static void DoHorizontalAligmentControl(Rect position, SerializedProperty alignment)
        {
            TextAnchor             ta = (TextAnchor)alignment.intValue;
            HorizontalTextAligment horizontalAlignment = GetHorizontalAlgiment(ta);

            bool leftAlign   = (horizontalAlignment == HorizontalTextAligment.Left);
            bool centerAlign = (horizontalAlignment == HorizontalTextAligment.Center);
            bool rightAlign  = (horizontalAlignment == HorizontalTextAligment.Right);

            if (alignment.hasMultipleDifferentValues)
            {
                foreach (var obj in alignment.serializedObject.targetObjects)
                {
                    Text3DRenderer text = obj as Text3DRenderer;
                    horizontalAlignment = GetHorizontalAlgiment(text.Alignment);
                    leftAlign           = leftAlign || (horizontalAlignment == HorizontalTextAligment.Left);
                    centerAlign         = centerAlign || (horizontalAlignment == HorizontalTextAligment.Center);
                    rightAlign          = rightAlign || (horizontalAlignment == HorizontalTextAligment.Right);
                }
            }

            position.width = kAlignmentButtonWidth;

            EditorGUI.BeginChangeCheck();
            EditorToggle(position, leftAlign, leftAlign ? Styles.m_LeftAlignTextActive : Styles.m_LeftAlignText, Styles.alignmentButtonLeft);
            if (EditorGUI.EndChangeCheck())
            {
                SetHorizontalAlignment(alignment, HorizontalTextAligment.Left);
            }

            position.x += position.width;
            EditorGUI.BeginChangeCheck();
            EditorToggle(position, centerAlign, centerAlign ? Styles.m_CenterAlignTextActive : Styles.m_CenterAlignText, Styles.alignmentButtonMid);
            if (EditorGUI.EndChangeCheck())
            {
                SetHorizontalAlignment(alignment, HorizontalTextAligment.Center);
            }

            position.x += position.width;
            EditorGUI.BeginChangeCheck();
            EditorToggle(position, rightAlign, rightAlign ? Styles.m_RightAlignTextActive : Styles.m_RightAlignText, Styles.alignmentButtonRight);
            if (EditorGUI.EndChangeCheck())
            {
                SetHorizontalAlignment(alignment, HorizontalTextAligment.Right);
            }
        }
Ejemplo n.º 5
0
 void OnDestroy()
 {
     mTarget = null;
 }