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; } } }