/// <summary>
        /// Displays the horizontal aligment control.
        /// </summary>
        /// <param name="position">Position.</param>
        /// <param name="property">Property.</param>
        private void DisplayHorizontalAligmentControl(Rect position, SerializedProperty property)
        {
            TextAnchor             intValue            = (TextAnchor)property.intValue;
            HorizontalTextAligment horizontalAlignment = intValue.GetHorizontalAlignment();
            bool flag  = horizontalAlignment == HorizontalTextAligment.Left;
            bool flag2 = horizontalAlignment == HorizontalTextAligment.Center;
            bool flag3 = horizontalAlignment == HorizontalTextAligment.Right;

            if (property.hasMultipleDifferentValues)
            {
                Object[] targetObjects = property.serializedObject.targetObjects;
                for (int i = 0; i < targetObjects.Length; i++)
                {
                    Object obj = targetObjects [i];
                    UnityEngine.UI.Text text = obj as UnityEngine.UI.Text;
                    horizontalAlignment = text.alignment.GetHorizontalAlignment();
                    flag  = flag || horizontalAlignment == HorizontalTextAligment.Left;
                    flag2 = flag2 || horizontalAlignment == HorizontalTextAligment.Center;
                    flag3 = flag3 || horizontalAlignment == HorizontalTextAligment.Right;
                }
            }
            position.width = 20f;
            EditorGUI.BeginChangeCheck();
            EditorToggle(
                position,
                !flag ?
                s_Styles.GetStaticFieldValue <GUIContent>("m_LeftAlignText") :
                s_Styles.GetStaticFieldValue <GUIContent>("m_LeftAlignTextActive"),
                flag,
                s_Styles.GetStaticFieldValue <GUIStyle>("alignmentButtonLeft")
                );
            if (EditorGUI.EndChangeCheck())
            {
                SetHorizontalAlignment(property, HorizontalTextAligment.Left);
            }
            position.x += position.width;
            EditorGUI.BeginChangeCheck();
            EditorToggle(
                position,
                !flag2 ?
                s_Styles.GetStaticFieldValue <GUIContent>("m_CenterAlignText") :
                s_Styles.GetStaticFieldValue <GUIContent>("m_CenterAlignTextActive"),
                flag2,
                s_Styles.GetStaticFieldValue <GUIStyle>("alignmentButtonMid")
                );
            if (EditorGUI.EndChangeCheck())
            {
                SetHorizontalAlignment(property, HorizontalTextAligment.Center);
            }
            position.x += position.width;
            EditorGUI.BeginChangeCheck();
            EditorToggle(
                position,
                !flag3 ?
                s_Styles.GetStaticFieldValue <GUIContent>("m_RightAlignText") :
                s_Styles.GetStaticFieldValue <GUIContent>("m_RightAlignTextActive"),
                flag3,
                s_Styles.GetStaticFieldValue <GUIStyle>("alignmentButtonRight")
                );
            if (EditorGUI.EndChangeCheck())
            {
                this.SetHorizontalAlignment(property, HorizontalTextAligment.Right);
            }
        }