コード例 #1
0
        // Token: 0x0600132B RID: 4907 RVA: 0x00181FF4 File Offset: 0x001801F4
        public static string getSubstringBeyondHeight(string s, int width, int height)
        {
            Vector2 position = default(Vector2);
            int     accumulatedHorizontalSpaceBetweenCharacters = 0;

            s = s.Replace(Environment.NewLine, "");
            for (int i = 0; i < s.Length; i++)
            {
                if (s[i] == '^')
                {
                    position.Y += (float)(18 * SpriteText.fontPixelZoom);
                    position.X  = 0f;
                    accumulatedHorizontalSpaceBetweenCharacters = 0;
                }
                else
                {
                    if (i > 0)
                    {
                        position.X += (float)(8 * SpriteText.fontPixelZoom + accumulatedHorizontalSpaceBetweenCharacters + (SpriteText.getWidthOffsetForChar(s[i]) + SpriteText.getWidthOffsetForChar(s[i - 1])) * SpriteText.fontPixelZoom);
                    }
                    accumulatedHorizontalSpaceBetweenCharacters = 0;
                    if (SpriteText.positionOfNextSpace(s, i, (int)position.X, accumulatedHorizontalSpaceBetweenCharacters) >= width)
                    {
                        position.Y += (float)(18 * SpriteText.fontPixelZoom);
                        accumulatedHorizontalSpaceBetweenCharacters = 0;
                        position.X = 0f;
                    }
                    if (position.Y >= (float)(height - 16 * SpriteText.fontPixelZoom * 2))
                    {
                        return(s.Substring(SpriteText.getLastSpace(s, i)));
                    }
                }
            }
            return("");
        }
コード例 #2
0
ファイル: SpriteText.cs プロジェクト: avere001/sprinklers
        public static string getSubstringBeyondHeight(string s, int width, int height)
        {
            Vector2 vector = default(Vector2);
            int     num    = 0;

            s = s.Replace(Environment.NewLine, "");
            SpriteText.setUpCharacterMap();
            if (!LocalizedContentManager.CurrentLanguageLatin)
            {
                for (int i = 0; i < s.Length; i++)
                {
                    if (s[i] == '^')
                    {
                        vector.Y += (float)(SpriteText.FontFile.Common.LineHeight + 2) * SpriteText.fontPixelZoom;
                        vector.X  = 0f;
                        num       = 0;
                    }
                    else
                    {
                        FontChar fontChar;
                        if (SpriteText._characterMap.TryGetValue(s[i], out fontChar))
                        {
                            if (i > 0)
                            {
                                vector.X += (float)fontChar.XAdvance * SpriteText.fontPixelZoom;
                            }
                            if (SpriteText.positionOfNextSpace(s, i, (int)vector.X, num) >= width)
                            {
                                vector.Y += (float)(SpriteText.FontFile.Common.LineHeight + 2) * SpriteText.fontPixelZoom;
                                num       = 0;
                                vector.X  = 0f;
                            }
                        }
                        if (vector.Y >= (float)height - (float)SpriteText.FontFile.Common.LineHeight * SpriteText.fontPixelZoom * 2f)
                        {
                            return(s.Substring(SpriteText.getLastSpace(s, i)));
                        }
                    }
                }
                return("");
            }
            for (int j = 0; j < s.Length; j++)
            {
                if (s[j] == '^')
                {
                    vector.Y += 18f * SpriteText.fontPixelZoom;
                    vector.X  = 0f;
                    num       = 0;
                }
                else
                {
                    if (j > 0)
                    {
                        vector.X += 8f * SpriteText.fontPixelZoom + (float)num + (float)(SpriteText.getWidthOffsetForChar(s[j]) + SpriteText.getWidthOffsetForChar(s[j - 1])) * SpriteText.fontPixelZoom;
                    }
                    num = (int)(0f * SpriteText.fontPixelZoom);
                    if (SpriteText.positionOfNextSpace(s, j, (int)vector.X, num) >= width)
                    {
                        vector.Y += 18f * SpriteText.fontPixelZoom;
                        num       = 0;
                        vector.X  = 0f;
                    }
                    if (vector.Y >= (float)height - 16f * SpriteText.fontPixelZoom * 2f)
                    {
                        return(s.Substring(SpriteText.getLastSpace(s, j)));
                    }
                }
            }
            return("");
        }
コード例 #3
0
        public static string getSubstringBeyondHeight(string s, int width, int height)
        {
            Vector2 vector2 = new Vector2();
            int     accumulatedHorizontalSpaceBetweenCharacters = 0;

            s = s.Replace(Environment.NewLine, "");
            SpriteText.setUpCharacterMap();
            if (!LocalizedContentManager.CurrentLanguageLatin)
            {
                for (int index = 0; index < s.Length; ++index)
                {
                    if ((int)s[index] == 94)
                    {
                        vector2.Y += (float)(SpriteText.FontFile.Common.LineHeight + 2) * SpriteText.fontPixelZoom;
                        vector2.X  = 0.0f;
                        accumulatedHorizontalSpaceBetweenCharacters = 0;
                    }
                    else
                    {
                        FontChar fontChar;
                        if (SpriteText._characterMap.TryGetValue(s[index], out fontChar))
                        {
                            if (index > 0)
                            {
                                vector2.X += (float)fontChar.XAdvance * SpriteText.fontPixelZoom;
                            }
                            if (SpriteText.positionOfNextSpace(s, index, (int)vector2.X, accumulatedHorizontalSpaceBetweenCharacters) >= width)
                            {
                                vector2.Y += (float)(SpriteText.FontFile.Common.LineHeight + 2) * SpriteText.fontPixelZoom;
                                accumulatedHorizontalSpaceBetweenCharacters = 0;
                                vector2.X = 0.0f;
                            }
                        }
                        if ((double)vector2.Y >= (double)height - (double)SpriteText.FontFile.Common.LineHeight * (double)SpriteText.fontPixelZoom * 2.0)
                        {
                            return(s.Substring(SpriteText.getLastSpace(s, index)));
                        }
                    }
                }
                return("");
            }
            for (int index = 0; index < s.Length; ++index)
            {
                if ((int)s[index] == 94)
                {
                    vector2.Y += 18f * SpriteText.fontPixelZoom;
                    vector2.X  = 0.0f;
                    accumulatedHorizontalSpaceBetweenCharacters = 0;
                }
                else
                {
                    if (index > 0)
                    {
                        vector2.X += (float)(8.0 * (double)SpriteText.fontPixelZoom + (double)accumulatedHorizontalSpaceBetweenCharacters + (double)(SpriteText.getWidthOffsetForChar(s[index]) + SpriteText.getWidthOffsetForChar(s[index - 1])) * (double)SpriteText.fontPixelZoom);
                    }
                    accumulatedHorizontalSpaceBetweenCharacters = (int)(0.0 * (double)SpriteText.fontPixelZoom);
                    if (SpriteText.positionOfNextSpace(s, index, (int)vector2.X, accumulatedHorizontalSpaceBetweenCharacters) >= width)
                    {
                        vector2.Y += 18f * SpriteText.fontPixelZoom;
                        accumulatedHorizontalSpaceBetweenCharacters = 0;
                        vector2.X = 0.0f;
                    }
                    if ((double)vector2.Y >= (double)height - 16.0 * (double)SpriteText.fontPixelZoom * 2.0)
                    {
                        return(s.Substring(SpriteText.getLastSpace(s, index)));
                    }
                }
            }
            return("");
        }