Пример #1
0
 private static void SetVerticalAlignment(SerializedProperty alignment, VerticalTextAligment verticalAlignment)
 {
     foreach (var obj in alignment.serializedObject.targetObjects)
     {
         IMCText text = obj as IMCText;
         HorizontalTextAligment currentHorizontalAligment = GetHorizontalAlgiment(text.alignment);
         Undo.RecordObject(text, "Vertical Alignment");
         text.alignment = GetAnchor(verticalAlignment, currentHorizontalAligment);
         EditorUtility.SetDirty(obj);
     }
 }
Пример #2
0
 private void CountAdsorption()//吸附
 {
     for (int i = 0; i < m_childs.Count; i++)
     {
         if (Vector3.Distance(m_childs[i].anchoredPosition3D, ExtrudePos) <= m_CenterObject.sizeDelta.y / 1.5f)
         {
             TagObject        = m_childs[i];
             adsorptionToggle = true;
             return;
         }
     }
 }
Пример #3
0
 private IMCText CreateTextComponent()
 {
     if (prefabText)
     {
         IMCText tempText = Instantiate(prefabText) as IMCText;
         tempText.transform.SetParent(list.content);
         tempText.transform.localScale = Vector3.one;
         return(tempText);
     }
     Debug.Log("Don't have prefabText component!");
     return(null);
 }
Пример #4
0
    //public  override void Initialize()
    //{
    //    try
    //    {
    //        base.Initialize();
    //        Transform c = transform.FindChild("Extrude");
    //        IMCText cente = null;
    //        if (c)
    //        {
    //            cente = c.GetComponent<IMCText>();
    //        }
    //        if (cente)
    //        {
    //            m_CenterObject = cente;
    //        }
    //    }
    //    catch
    //    {
    //        SelectBoxActivateToggle = false;
    //        IMCDebug.LogWarning("SelectBox m_CenterObject is null");
    //    }
    //}
    void Awake()
    {
        Transform c     = transform.FindChild("Extrude");
        IMCText   cente = null;

        if (c)
        {
            cente = c.GetComponent <IMCText>();
        }
        if (cente)
        {
            m_CenterObject = cente;
        }
    }
Пример #5
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)
                {
                    IMCText    text          = obj as IMCText;
                    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);
            }
        }
Пример #6
0
    void DisplacementPosition(IMCText child)
    {
        int m_index = 0;

        for (int i = 0; i < dateElements.Count; i++)
        {
            if (child.text == dateElements[i])
            {
                m_index = i;
            }
        }

        if (downToggle)
        {
            if (child.anchoredPosition3D.y > upTargetPosition.y)
            {
                child.anchoredPosition3D -= new Vector3(0, m_childs.Count * child.sizeDelta.y, 0);

                for (int i = 0; i < m_childs.Count; i++)//内容置换
                {
                    m_index++;
                    if (m_index > dateElements.Count - 1)
                    {
                        m_index = 0;
                    }
                }
                child.text = dateElements[m_index];//获取元素赋值
            }
        }
        else if (upToggle)
        {
            if (child.anchoredPosition3D.y < downTargetPosition.y)
            {
                child.anchoredPosition3D += new Vector3(0, m_childs.Count * child.sizeDelta.y, 0);

                for (int i = 0; i < m_childs.Count; i++)//内容置换
                {
                    m_index--;
                    if (m_index < 0)
                    {
                        m_index = dateElements.Count - 1;
                    }
                }
                child.text = dateElements[m_index];//获取元素赋值
            }
        }
    }
Пример #7
0
        public override void OnInspectorGUI()
        {
            serializedObject.Update();

            IMCText text = (IMCText)target;

            //EditorGUI.BeginDisabledGroup(true);
            //text.ControlType = (ControlType)EditorGUILayout.EnumPopup("ControlType", text.ControlType);
            //text.ContainerType = (ContainerType)EditorGUILayout.EnumPopup("ContainerType", text.ContainerType);
            //EditorGUI.EndDisabledGroup();
            text.customID = EditorGUILayout.TextField("CustomID", text.customID);
            EditorGUILayout.PropertyField(m_Text);
            EditorGUILayout.PropertyField(m_FontData);
            AppearanceControlsGUI();
            RaycastControlsGUI();
            serializedObject.ApplyModifiedProperties();
        }
Пример #8
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)
                {
                    IMCText text = obj as IMCText;
                    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);
            }
        }
Пример #9
0
        public override void OnInspectorGUI()
        {
            IMCInputField inputField = (IMCInputField)target;

            //EditorGUI.BeginDisabledGroup(true);
            //inputField.ControlType = (ControlType)EditorGUILayout.EnumPopup("ControlType", inputField.ControlType);
            //inputField.ContainerType = (ContainerType)EditorGUILayout.EnumPopup("ContainerType", inputField.ContainerType);
            //EditorGUI.EndDisabledGroup();
            inputField.customID = EditorGUILayout.TextField("CustomID", inputField.customID);

            serializedObject.Update();

            base.OnInspectorGUI();

            EditorGUILayout.Space();

            EditorGUILayout.PropertyField(m_TextComponent);

            if (m_TextComponent != null && m_TextComponent.objectReferenceValue != null)
            {
                IMCText text = m_TextComponent.objectReferenceValue as IMCText;
                if (text.supportRichText)
                {
                    EditorGUILayout.HelpBox("Using Rich Text with input is unsupported.", MessageType.Warning);
                }
            }

            EditorGUI.BeginDisabledGroup(m_TextComponent == null || m_TextComponent.objectReferenceValue == null);

            EditorGUILayout.PropertyField(m_Text);
            EditorGUILayout.PropertyField(m_CharacterLimit);

            EditorGUILayout.Space();

            EditorGUILayout.PropertyField(m_ContentType);
            if (!m_ContentType.hasMultipleDifferentValues)
            {
                EditorGUI.indentLevel++;

                if (m_ContentType.enumValueIndex == (int)IMCInputField.ContentType.Standard ||
                    m_ContentType.enumValueIndex == (int)IMCInputField.ContentType.Autocorrected ||
                    m_ContentType.enumValueIndex == (int)IMCInputField.ContentType.Custom)
                {
                    EditorGUILayout.PropertyField(m_LineType);
                }

                if (m_ContentType.enumValueIndex == (int)IMCInputField.ContentType.Custom)
                {
                    EditorGUILayout.PropertyField(m_InputType);
                    EditorGUILayout.PropertyField(m_KeyboardType);
                    EditorGUILayout.PropertyField(m_CharacterValidation);
                }

                EditorGUI.indentLevel--;
            }

            EditorGUILayout.Space();

            EditorGUILayout.PropertyField(m_Placeholder);
            EditorGUILayout.PropertyField(m_CaretBlinkRate);
            EditorGUILayout.PropertyField(m_CaretWidth);

            EditorGUILayout.PropertyField(m_CustomCaretColor);

            m_CustomColor.target = m_CustomCaretColor.boolValue;

            if (EditorGUILayout.BeginFadeGroup(m_CustomColor.faded))
            {
                EditorGUILayout.PropertyField(m_CaretColor);
            }
            EditorGUILayout.EndFadeGroup();

            EditorGUILayout.PropertyField(m_SelectionColor);
            EditorGUILayout.PropertyField(m_HideMobileInput);
            EditorGUILayout.PropertyField(m_ReadOnly);

            EditorGUILayout.Space();

            EditorGUILayout.PropertyField(m_OnValueChanged);
            EditorGUILayout.PropertyField(m_OnEndEdit);

            EditorGUI.EndDisabledGroup();

            serializedObject.ApplyModifiedProperties();
        }