public override void RenderFinish(TextElement tag, object vars, TextEvulateResult latestResult)
 {
     //Render kısmında tamamlandıysa devam etmez.
     if (printed)
     {
         base.RenderFinish(tag, vars, latestResult);
         return;
     }
     if (customEvulatorHandler != null)
     {
         customEvulatorHandler.RenderFinish(tag, vars, latestResult);
     }
     else if (currentInfo != null && (currentInfo.Flags & BBCodeInfoFlags.InnerTextOnly) == 0 && currentInfo.Enabled)
     {
         var dict = this.GetDictionary(tag);
         dict["Text"] = latestResult.TextContent;
         var validateResult = currentInfo.Validate(dict, tag);
         if (validateResult != null && validateResult.Cancel)
         {
             latestResult.TextContent = null;
         }
         else
         {
             latestResult.TextContent = this.currentInfo.TagFormat.Apply(dict);
         }
     }
     else
     {
         //default
         if (tag.AutoClosed)
         {
             latestResult.TextContent = "[" + tag.ElemName + "]";
         }
         else
         {
             latestResult.TextContent = "[" + tag.ElemName + "]" + latestResult.TextContent + "[/" + tag.ElemName + "]";
         }
     }
     base.RenderFinish(tag, vars, latestResult);
 }
        public override TextEvulateResult Render(TextElement tag, object vars)
        {
            this.bbCodeEvulator = this.Evulator.CustomDataSingle as BBCodeEvulator;
            TextEvulateResult result = new TextEvulateResult()
            {
                Result = TextEvulateResultEnum.EVULATE_DEPTHSCAN
            };
            var dict = this.GetDictionary(tag);

            currentInfo = this.bbCodeEvulator.GetTag(tag.ElemName);
            if (currentInfo == null)
            {
                return(result);
            }
            if (currentInfo.CustomEvulator != null)
            {
                customEvulatorHandler = Activator.CreateInstance(currentInfo.CustomEvulator) as BaseEvulator;
                customEvulatorHandler.SetEvulator(this.Evulator);
                result = customEvulatorHandler.Render(tag, vars);
            }
            else if ((currentInfo.Flags & BBCodeInfoFlags.InnerTextOnly) != 0 && currentInfo.Enabled && !tag.AutoClosed)
            {
                dict["Text"] = tag.InnerText();
                var validateResult = currentInfo.Validate(dict, tag);
                if (validateResult != null && validateResult.Cancel)
                {
                    result.TextContent = null;
                }
                else
                {
                    result.TextContent = currentInfo.TagFormat.Apply(dict);
                }

                result.Result = TextEvulateResultEnum.EVULATE_TEXT;
                printed       = true;
            }
            return(result);
        }