Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
TCText.cs
Go to the documentation of this file.
1using System;
2using UnityEngine;
3using UnityEngine.UI;
4
5public class TCText : TCUI
6{
7 public static string[] popIDs = new string[2] { "PopTextSys", "PopTextGod" };
8
9 public PopManager pop;
10
11 [NonSerialized]
13
14 public override Vector3 FixPos => TC._setting.textPos;
15
16 public void Say(string s, float duration = 0f)
17 {
18 PopItem p;
19 switch (s[0])
20 {
21 case '(':
22 p = pop.PopText(s, null, EMono.core.config.ui.balloonBG ? "PopText_alt" : "PopTextThinking", default(Color), default(Vector3), duration);
23 break;
24 case '*':
25 p = pop.PopText(s, null, "PopTextOno", default(Color), default(Vector3), duration);
26 break;
27 case '@':
28 {
29 int num = int.Parse(s[1].ToString());
30 p = pop.PopText(s.Substring(2), null, popIDs[num], default(Color), default(Vector3), duration);
31 break;
32 }
33 case '^':
34 p = pop.PopText(s.Substring(1), null, "PopTextBroadcast", default(Color), default(Vector3), duration);
35 break;
36 default:
37 p = pop.PopText(s, null, EMono.core.config.ui.balloonBG ? "PopText_alt" : "PopText", default(Color), default(Vector3), duration);
38 break;
39 }
40 if (!p)
41 {
42 return;
43 }
44 EMono.core.actionsNextFrame.Add(delegate
45 {
46 if (p != null && p.gameObject != null)
47 {
48 p.RebuildLayout(recursive: true);
49 ContentSizeFitter[] componentsInChildren = p.GetComponentsInChildren<ContentSizeFitter>();
50 for (int i = 0; i < componentsInChildren.Length; i++)
51 {
52 componentsInChildren[i].enabled = false;
53 }
54 LayoutGroup[] componentsInChildren2 = p.GetComponentsInChildren<LayoutGroup>();
55 for (int i = 0; i < componentsInChildren2.Length; i++)
56 {
57 componentsInChildren2[i].enabled = false;
58 }
59 }
60 });
61 }
62
63 public void ShowEmo(Emo emo, float duration)
64 {
65 Sprite sprite = SpriteSheet.Get("Media/Graphics/Icon/icons_32", "emo_" + emo);
66 if (lastEmo != null)
67 {
68 pop.Kill(lastEmo);
69 }
70 lastEmo = pop.PopText("", sprite, "PopTextEmo", default(Color), default(Vector3), duration);
71 }
72
73 public override void OnDraw(ref Vector3 pos)
74 {
75 if (!pop.enabled)
76 {
77 render.RemoveTC(this);
78 return;
79 }
80 Vector3 pos2 = pos;
81 lastPos = pos;
82 base.OnDraw(ref pos2);
83 }
84
85 public override void OnKill()
86 {
87 DrawImmediate(ref lastPos);
88 pop.CopyAll(EMono.ui.rectDynamic);
89 pop.KillAll(instant: true);
90 }
91}
Emo
Definition: Emo.cs:2
List< Action > actionsNextFrame
Definition: BaseCore.cs:31
new UISetting ui
Definition: CoreConfig.cs:588
CoreConfig config
Definition: Core.cs:70
Definition: EMono.cs:4
static Core core
Definition: EMono.cs:5
static UI ui
Definition: EMono.cs:15
PopItemText PopText(string text, Sprite sprite=null, string id="PopText", Color c=default(Color), Vector3 destPos=default(Vector3), float duration=0f)
Definition: PopManager.cs:41
static Sprite Get(string id)
Definition: SpriteSheet.cs:28
Definition: TCText.cs:6
void Say(string s, float duration=0f)
Definition: TCText.cs:16
override void OnDraw(ref Vector3 pos)
Definition: TCText.cs:73
PopManager pop
Definition: TCText.cs:9
override Vector3 FixPos
Definition: TCText.cs:14
PopItemText lastEmo
Definition: TCText.cs:12
void ShowEmo(Emo emo, float duration)
Definition: TCText.cs:63
static string[] popIDs
Definition: TCText.cs:7
override void OnKill()
Definition: TCText.cs:85
Definition: TCUI.cs:4
Definition: TC.cs:4
static GameSetting.RenderSetting.TCSetting _setting
Definition: TC.cs:5