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