示例#1
0
    // Token: 0x06001511 RID: 5393 RVA: 0x00240B4C File Offset: 0x0023ED4C
    float _CheckTextHandle.TextLenCheck(UIText mText, CString Str)
    {
        int   fontSize       = mText.fontSize;
        float preferredWidth = mText.preferredWidth;
        float x = mText.rectTransform.sizeDelta.x;

        if (preferredWidth > x)
        {
            for (int i = 1; i <= 2; i++)
            {
                mText.fontSize = fontSize - i;
                mText.SetLayoutDirty();
                mText.cachedTextGeneratorForLayout.Invalidate();
                preferredWidth = mText.preferredWidth;
                if (preferredWidth <= x)
                {
                    break;
                }
            }
            if (preferredWidth > x)
            {
                while (preferredWidth > x)
                {
                    Str.Substring(Str.ToString(), 0, Str.Length - 2);
                    mText.text = Str.ToString();
                    mText.SetAllDirty();
                    mText.cachedTextGenerator.Invalidate();
                    mText.cachedTextGeneratorForLayout.Invalidate();
                    preferredWidth = mText.preferredWidth;
                }
                Str.Append("...");
                mText.text = Str.ToString();
                mText.SetAllDirty();
                mText.cachedTextGenerator.Invalidate();
                mText.cachedTextGeneratorForLayout.Invalidate();
                preferredWidth = mText.preferredWidth;
                while (preferredWidth > x && mText.fontSize > 4)
                {
                    mText.fontSize--;
                    mText.SetLayoutDirty();
                    mText.cachedTextGeneratorForLayout.Invalidate();
                    preferredWidth = mText.preferredWidth;
                    if (preferredWidth <= x)
                    {
                        break;
                    }
                }
            }
        }
        return(preferredWidth);
    }