Esempio n. 1
0
        public string ToHtml(Card card)
        {
            var html = new StringBuilder();

            switch (LayoutType)
            {
            case Models.LayoutType.Important:
                html.Append("<p><strong>");
                break;

            case Models.LayoutType.Block:
                html.Append("<p>");
                break;

            case Models.LayoutType.Inline:
            default:
                break;
            }

            html.Append(EffectType.Html());

            var prefix = string.Empty;

            foreach (var token in Tokens)
            {
                if (token.TokenType != EffectTokenType.Inline_Text)
                {
                    html.Append(prefix);
                }
                html.Append(token.ToHtml(card));

                if (token.TokenType == EffectTokenType.Inline_Prefix)
                {
                    prefix = string.Empty;
                }
                else
                {
                    prefix = " ";
                }
            }

            switch (LayoutType)
            {
            case Models.LayoutType.Important:
                html.Append("</strong></p>");
                break;

            case Models.LayoutType.Block:
                html.Append("</p>");
                break;

            case Models.LayoutType.Inline:
            default:
                break;
            }

            return(html.ToString());
        }