MonoGameUi.Label.AnalyzeText C# (CSharp) Method

AnalyzeText() private method

private AnalyzeText ( Point available ) : void
available Point
return void
        private void AnalyzeText(Point available)
        {
            lines.Clear();
            if (Font == null) return;

            StringBuilder sb = new StringBuilder();

            if (string.IsNullOrEmpty(Text))
                return;

            string[] l = Text.Split('\n');
            foreach (var line in l)
            {
                string[] words = line.Split(' ');

                foreach (var word in words)
                {
                    Vector2 size = Font.MeasureString(word);
                    Vector2 lineSize = Font.MeasureString(sb.ToString());

                    if (lineSize.X + size.X >= available.X)
                    {
                        lines.Add(sb.ToString());
                        sb.Clear();
                    }
                    sb.Append(word + " ");
                }

                lines.Add(sb.ToString());
                sb.Clear();
            }
        }