Elin Decompiled Documentation EA 23.291 Nightly Patch 1
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[4] { "PopTextSys", "PopTextGod", "PopTextASMR", "PopTextOPA" };
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 if (s.IsEmpty())
19 {
20 return;
21 }
22 PopItem p;
23 switch (s[0])
24 {
25 case '(':
26 p = pop.PopText(s, null, EMono.core.config.ui.balloonBG ? "PopText_alt" : "PopTextThinking", default(Color), default(Vector3), duration);
27 break;
28 case '*':
29 p = pop.PopText(s, null, "PopTextOno", default(Color), default(Vector3), duration);
30 break;
31 case '@':
32 {
33 int num = int.Parse(s[1].ToString());
34 p = pop.PopText(s.Substring(2), null, popIDs[num], default(Color), default(Vector3), duration);
35 if (num == 3)
36 {
37 Shaker.ShakeCam("opa");
38 }
39 break;
40 }
41 case '^':
42 p = pop.PopText(s.Substring(1), null, "PopTextBroadcast", default(Color), default(Vector3), duration);
43 break;
44 case '|':
45 p = pop.PopText(s.Substring(1), null, "PopTextAbility", default(Color), default(Vector3), duration);
46 break;
47 default:
48 p = pop.PopText(s, null, EMono.core.config.ui.balloonBG ? "PopText_alt" : "PopText", default(Color), default(Vector3), duration);
49 break;
50 }
51 if (!p)
52 {
53 return;
54 }
55 EMono.core.actionsNextFrame.Add(delegate
56 {
57 if (p != null && p.gameObject != null)
58 {
59 p.RebuildLayout(recursive: true);
60 ContentSizeFitter[] componentsInChildren = p.GetComponentsInChildren<ContentSizeFitter>();
61 for (int i = 0; i < componentsInChildren.Length; i++)
62 {
63 componentsInChildren[i].enabled = false;
64 }
65 LayoutGroup[] componentsInChildren2 = p.GetComponentsInChildren<LayoutGroup>();
66 for (int i = 0; i < componentsInChildren2.Length; i++)
67 {
68 componentsInChildren2[i].enabled = false;
69 }
70 }
71 });
72 }
73
74 public void ShowEmo(Emo emo, float duration)
75 {
76 Sprite sprite = SpriteSheet.Get("Media/Graphics/Icon/icons_32", "emo_" + emo);
77 if (lastEmo != null)
78 {
79 pop.Kill(lastEmo);
80 }
81 lastEmo = pop.PopText("", sprite, "PopTextEmo", default(Color), default(Vector3), duration);
82 }
83
84 public override void OnDraw(ref Vector3 pos)
85 {
86 if (!pop.enabled)
87 {
88 render.RemoveTC(this);
89 return;
90 }
91 Vector3 pos2 = pos;
92 lastPos = pos;
93 base.OnDraw(ref pos2);
94 }
95
96 public override void OnKill()
97 {
98 DrawImmediate(ref lastPos);
99 pop.CopyAll(EMono.ui.rectDynamic);
100 pop.KillAll(instant: true);
101 }
102}
Emo
Definition: Emo.cs:2
List< Action > actionsNextFrame
Definition: BaseCore.cs:31
new UISetting ui
Definition: CoreConfig.cs:601
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
Definition: Shaker.cs:5
static void ShakeCam(string id="default", float magnitude=1f)
Definition: Shaker.cs:25
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:84
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:74
static string[] popIDs
Definition: TCText.cs:7
override void OnKill()
Definition: TCText.cs:96
Definition: TCUI.cs:4
Definition: TC.cs:4
static GameSetting.RenderSetting.TCSetting _setting
Definition: TC.cs:5