Elin Modding Docs Doc
Loading...
Searching...
No Matches
WidgetMascot.cs
1using System;
2using System.IO;
3using UnityEngine;
4using UnityEngine.UI;
5
6// Token: 0x02000620 RID: 1568
7public class WidgetMascot : Widget
8{
9 // Token: 0x17000C90 RID: 3216
10 // (get) Token: 0x06002BD6 RID: 11222 RVA: 0x000F66EF File Offset: 0x000F48EF
11 public override bool ShowStyleMenu
12 {
13 get
14 {
15 return false;
16 }
17 }
18
19 // Token: 0x06002BD7 RID: 11223 RVA: 0x000F66F4 File Offset: 0x000F48F4
20 public override void OnActivate()
21 {
22 string path = CorePath.coreWidget + base.config.id + "/" + "default.png";
23 string str = Lang.setting.dir + "Widget/" + base.config.id + "/";
24 string path2 = str + "default.txt";
25 string path3 = str + "siege.txt";
26 string path4 = str + "shutup.txt";
27 if (File.Exists(path2))
28 {
29 this.linesDefault = IO.LoadTextArray(path2);
30 }
31 if (File.Exists(path3))
32 {
33 this.linesSiege = IO.LoadTextArray(path3);
34 }
35 if (File.Exists(path4))
36 {
37 this.linesShutup = IO.LoadTextArray(path4);
38 }
39 if (File.Exists(path))
40 {
41 this.image.texture = IO.LoadPNG(path, FilterMode.Point);
42 }
43 this.Say("");
44 base.InvokeRepeating("_Update", 1f, 1f);
45 }
46
47 // Token: 0x06002BD8 RID: 11224 RVA: 0x000F67E4 File Offset: 0x000F49E4
48 private void Update()
49 {
50 if (this.isShut && InputModuleEX.IsPointerOver(base.transform))
51 {
52 SE.Play("teleport");
53 base.transform.position = new Vector3((float)EMono.rnd(Screen.width), (float)EMono.rnd(Screen.height), 0f);
54 base.OnChangePosition();
55 base.ClampToScreen();
56 }
57 }
58
59 // Token: 0x06002BD9 RID: 11225 RVA: 0x000F6848 File Offset: 0x000F4A48
60 public void _Update()
61 {
62 if (this.nextSay > 0)
63 {
64 this.nextSay--;
65 return;
66 }
67 if (this.isShut)
68 {
69 return;
70 }
71 this.isSiege = (EMono._zone.events.GetEvent<ZoneEventSiege>() != null);
72 string[] array = this.isSiege ? this.linesSiege : this.linesDefault;
73 if (array == null)
74 {
75 return;
76 }
77 string str = (EMono.rnd(2) == 0) ? "" : array.RandomItem<string>();
78 if (this.first)
79 {
80 str = array[0];
81 this.first = false;
82 }
83 this.Say(str);
84 }
85
86 // Token: 0x06002BDA RID: 11226 RVA: 0x000F68D9 File Offset: 0x000F4AD9
87 public override void OnFlip()
88 {
89 this.image.transform.localScale = new Vector3((float)(this.flip ? 1 : -1), 1f, 1f);
90 }
91
92 // Token: 0x06002BDB RID: 11227 RVA: 0x000F6907 File Offset: 0x000F4B07
93 public void Say(string[] lines)
94 {
95 this.Say(lines.RandomItem<string>());
96 }
97
98 // Token: 0x06002BDC RID: 11228 RVA: 0x000F6918 File Offset: 0x000F4B18
99 public void Say(string str)
100 {
101 Transform parent = this.text.transform.parent;
102 if (str.IsEmpty())
103 {
104 parent.SetActive(false);
105 }
106 else
107 {
108 parent.SetActive(true);
109 this.text.text = str;
110 base.ClampToScreenEnsured(parent, this.textPos);
111 }
112 this.nextSay = this.intervalSay + EMono.rnd(this.intervalSay);
113 if (this.isSiege)
114 {
115 this.nextSay /= 2;
116 }
117 }
118
119 // Token: 0x06002BDD RID: 11229 RVA: 0x000F6995 File Offset: 0x000F4B95
120 public override void OnSetContextMenu(UIContextMenu m)
121 {
122 m.AddToggle("shutup", this.isShut, delegate(bool a)
123 {
124 this.isShut = a;
125 base.config.annoyPlayer = this.isShut;
126 if (this.isShut)
127 {
128 this.Say(this.linesShutup);
129 }
130 });
131 base.SetBaseContextMenu(m);
132 }
133
134 // Token: 0x04001868 RID: 6248
135 public RawImage image;
136
137 // Token: 0x04001869 RID: 6249
138 public UIText text;
139
140 // Token: 0x0400186A RID: 6250
141 public int intervalSay;
142
143 // Token: 0x0400186B RID: 6251
144 public string[] linesDefault;
145
146 // Token: 0x0400186C RID: 6252
147 public string[] linesSiege;
148
149 // Token: 0x0400186D RID: 6253
150 public string[] linesShutup;
151
152 // Token: 0x0400186E RID: 6254
153 public Vector2 textPos;
154
155 // Token: 0x0400186F RID: 6255
156 private int nextSay = 2;
157
158 // Token: 0x04001870 RID: 6256
159 private bool first = true;
160
161 // Token: 0x04001871 RID: 6257
162 private bool isSiege;
163
164 // Token: 0x04001872 RID: 6258
165 private bool isShut;
166}
Definition EMono.cs:6