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); } }
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; } } }
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); }
//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; } }
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); } }
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];//获取元素赋值 } } }
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(); }
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); } }
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(); }