Ejemplo n.º 1
0
        private static List <TypedTextSymbol> CreateSymbolListFromText(string text)
        {
            var symbolList       = new List <TypedTextSymbol>();
            int parsedCharacters = 0;

            while (parsedCharacters < text.Length)
            {
                TypedTextSymbol symbol = null;

                // Check for tags
                var remainingText = text.Substring(parsedCharacters, text.Length - parsedCharacters);

                if (RichTextTag.StringStartsWithTag(remainingText))
                {
                    var tag = RichTextTag.ParseNext(remainingText);
                    symbol = new TypedTextSymbol(tag);
                }
                else if (RichTextTag.StringStartsWithMarkup(remainingText))
                {
                    var tag = RichTextTag.ParseMarkup(remainingText);
                    symbol = new TypedTextSymbol(tag);
                    if (tag == "{{player}}")
                    {
                        foreach (var letter in Player.Instance.entityName)
                        {
                            symbolList.Add(new TypedTextSymbol(letter.ToString()));
                        }
                        parsedCharacters += symbol.Length;
                        continue;
                    }
                }
                else
                {
                    symbol = new TypedTextSymbol(remainingText.Substring(0, 1));
                }

                parsedCharacters += symbol.Length;
                symbolList.Add(symbol);
            }

            return(symbolList);
        }