private void PushCharacters(string s, EventTelopBubble.Ctx ctx)
        {
            float num = this.mNumCharacters <= 0 ? 0.0f : this.mCharacters[this.mNumCharacters - 1].TimeOffset;

            for (int index = 0; index < s.Length; ++index)
            {
                float interval = ctx.Interval;
                if ((int)s[index] == 10)
                {
                    interval = this.NewLineInterval;
                }
                this.mCharacters[this.mNumCharacters] = new EventTelopBubble.Character(s[index], ctx.Color, interval, num + interval);
                num = this.mCharacters[this.mNumCharacters].TimeOffset;
                ++this.mNumCharacters;
            }
        }
        private void FlushText()
        {
            string mTextQueue = this.mTextQueue;

            this.mTextQueue = (string)null;
            if (this.mCharacters == null || this.mCharacters.Length < mTextQueue.Length)
            {
                this.mCharacters = new EventTelopBubble.Character[mTextQueue.Length * 2];
            }
            string s = mTextQueue.Replace("<br>", "\n");

            EventAction_Dialog.TextSpeedTypes speed = EventAction_Dialog.TextSpeedTypes.Normal;
            int n = 0;

            EventTelopBubble.Ctx ctx = new EventTelopBubble.Ctx();
            ctx.Interval = speed.ToFloat();
            ctx.Color    = Color32.op_Implicit(!UnityEngine.Object.op_Inequality((UnityEngine.Object) this.BodyText, (UnityEngine.Object)null) ? Color.get_black() : ((Graphic)this.BodyText).get_color());
            if (this.TextColor)
            {
                ctx.Color = Color32.op_Implicit(Color.get_white());
            }
            if (this.TextPosition == Event2dAction_Telop.TextPositionTypes.Center)
            {
                this.BodyText.set_alignment((TextAnchor)4);
            }
            else if (this.TextPosition == Event2dAction_Telop.TextPositionTypes.Right)
            {
                this.BodyText.set_alignment((TextAnchor)5);
            }
            else
            {
                this.BodyText.set_alignment((TextAnchor)3);
            }
            this.mNumCharacters = 0;
            this.Parse(EventTelopBubble.SplitTags(s), ref n, (string)null, ctx);
            if (UnityEngine.Object.op_Inequality((UnityEngine.Object) this.BodyText, (UnityEngine.Object)null))
            {
                this.BodyText.set_text(string.Empty);
            }
            this.mStartTime       = Time.get_time() + this.FadeInTime;
            this.mTextNeedsUpdate = this.mNumCharacters > 0;
            this.mFadingOut       = false;
        }
 private void Parse(EventTelopBubble.Element[] c, ref int n, string end, EventTelopBubble.Ctx ctx)
 {
     while (n < c.Length)
     {
         if (!string.IsNullOrEmpty(c[n].Tag))
         {
             Match match1;
             if ((match1 = EventTelopBubble.regEndTag.Match(c[n].Tag)).Success)
             {
                 if (match1.Groups[1].Value == end)
                 {
                     ++n;
                     break;
                 }
                 ++n;
             }
             else
             {
                 Match match2;
                 if ((match2 = EventTelopBubble.regColor.Match(c[n].Tag)).Success)
                 {
                     ++n;
                     Color32 color = ctx.Color;
                     ctx.Color = ColorUtility.ParseColor(match2.Groups[1].Value);
                     this.Parse(c, ref n, "color", ctx);
                     ctx.Color = color;
                 }
                 else
                 {
                     ++n;
                 }
             }
         }
         else
         {
             this.PushCharacters(c[n].Value, ctx);
             ++n;
         }
     }
 }