Elin Modding Docs Doc
Loading...
Searching...
No Matches
WidgetHP.cs
1using System;
2using Newtonsoft.Json;
3using UnityEngine;
4using UnityEngine.UI;
5
6// Token: 0x0200061C RID: 1564
7public class WidgetHP : Widget
8{
9 // Token: 0x06002B8B RID: 11147 RVA: 0x000F4C19 File Offset: 0x000F2E19
10 public override object CreateExtra()
11 {
12 return new WidgetHP.Extra();
13 }
14
15 // Token: 0x17000C88 RID: 3208
16 // (get) Token: 0x06002B8C RID: 11148 RVA: 0x000F4C20 File Offset: 0x000F2E20
17 public WidgetHP.Extra extra
18 {
19 get
20 {
21 return base.config.extra as WidgetHP.Extra;
22 }
23 }
24
25 // Token: 0x06002B8D RID: 11149 RVA: 0x000F4C32 File Offset: 0x000F2E32
26 public override void OnActivate()
27 {
28 this.Rebuild();
29 base.InvokeRepeating("Refresh", 0f, 0.2f);
30 }
31
32 // Token: 0x06002B8E RID: 11150 RVA: 0x000F4C4F File Offset: 0x000F2E4F
33 public void Rebuild()
34 {
35 this.grid.constraintCount = this.extra.layout + 1;
36 this.Refresh();
37 this.RebuildLayout(false);
38 }
39
40 // Token: 0x06002B8F RID: 11151 RVA: 0x000F4C78 File Offset: 0x000F2E78
41 public void Refresh()
42 {
43 if (!EMono.game.isLoading)
44 {
45 if (EMono.pc.hp > EMono.pc.MaxHP)
46 {
47 EMono.pc.hp = EMono.pc.MaxHP;
48 }
49 if (EMono.pc.mana.value > EMono.pc.mana.max)
50 {
51 EMono.pc.mana.value = EMono.pc.mana.max;
52 }
53 if (EMono.pc.stamina.value > EMono.pc.stamina.max)
54 {
55 EMono.pc.stamina.value = EMono.pc.stamina.max;
56 }
57 }
58 this.gaugeHP.hideBar = !this.extra.showGauge;
59 this.gaugeMP.hideBar = !this.extra.showGauge;
60 this.gaugeStamina.hideBar = !this.extra.showGauge;
61 this.gaugeStamina.SetActive(this.extra.stamina);
62 this.gaugeHP.UpdateValue(EMono.pc.hp, EMono.pc.MaxHP);
63 this.gaugeMP.UpdateValue(EMono.pc.mana.value, EMono.pc.mana.max);
64 this.gaugeStamina.UpdateValue(EMono.pc.stamina.value, EMono.pc.stamina.max);
65 Color c = EMono.Colors.Dark.gradientHP.Evaluate((float)EMono.pc.hp / (float)EMono.pc.MaxHP);
66 this.gaugeHP.textNow.text = "".TagColor(c, EMono.pc.hp.ToString() ?? "") + (this.extra.showMax ? ("/" + EMono.pc.MaxHP.ToString()) : "");
67 c = EMono.Colors.Dark.gradientMP.Evaluate((float)EMono.pc.mana.value / (float)EMono.pc.mana.max);
68 this.gaugeMP.textNow.text = "".TagColor(c, EMono.pc.mana.value.ToString() ?? "") + (this.extra.showMax ? ("/" + EMono.pc.mana.max.ToString()) : "");
69 c = EMono.Colors.Dark.gradientSP.Evaluate((float)EMono.pc.stamina.value / (float)EMono.pc.stamina.max);
70 this.gaugeStamina.textNow.text = "".TagColor(c, EMono.pc.stamina.value.ToString() ?? "") + (this.extra.showMax ? ("/" + EMono.pc.stamina.max.ToString()) : "");
71 this.goBarrier.SetActive(false);
72 this.textBarrier.text = "10";
73 }
74
75 // Token: 0x06002B90 RID: 11152 RVA: 0x000F5018 File Offset: 0x000F3218
76 public override void OnSetContextMenu(UIContextMenu m)
77 {
78 UIContextMenu uicontextMenu = m.AddChild("setting");
79 uicontextMenu.AddSlider("layout", (float n) => n.ToString() ?? "", (float)this.extra.layout, delegate(float a)
80 {
81 this.extra.layout = (int)a;
82 this.Rebuild();
83 base.ClampToScreen();
84 }, 0f, 2f, true, true, false);
85 uicontextMenu.AddToggle("showGauge", this.extra.showGauge, delegate(bool a)
86 {
87 this.extra.showGauge = a;
88 this.Refresh();
89 this.RebuildLayout(true);
90 });
91 uicontextMenu.AddToggle("showMax", this.extra.showMax, delegate(bool a)
92 {
93 this.extra.showMax = a;
94 this.Refresh();
95 this.RebuildLayout(true);
96 });
97 uicontextMenu.AddToggle("stamina", this.extra.stamina, delegate(bool a)
98 {
99 this.extra.stamina = a;
100 this.Refresh();
101 this.RebuildLayout(true);
102 });
103 base.SetBaseContextMenu(m);
104 }
105
106 // Token: 0x04001840 RID: 6208
107 public Gauge gaugeHP;
108
109 // Token: 0x04001841 RID: 6209
110 public Gauge gaugeMP;
111
112 // Token: 0x04001842 RID: 6210
113 public Gauge gaugeStamina;
114
115 // Token: 0x04001843 RID: 6211
116 public UIText textHP;
117
118 // Token: 0x04001844 RID: 6212
119 public UIText textMP;
120
121 // Token: 0x04001845 RID: 6213
122 public UIText textStamina;
123
124 // Token: 0x04001846 RID: 6214
125 public UIText textBarrier;
126
127 // Token: 0x04001847 RID: 6215
128 public GridLayoutGroup grid;
129
130 // Token: 0x04001848 RID: 6216
131 public GameObject goBarrier;
132
133 // Token: 0x02000B85 RID: 2949
134 public class Extra
135 {
136 // Token: 0x04002E53 RID: 11859
137 [JsonProperty]
138 public int layout;
139
140 // Token: 0x04002E54 RID: 11860
141 [JsonProperty]
142 public bool showGauge;
143
144 // Token: 0x04002E55 RID: 11861
145 [JsonProperty]
146 public bool showMax;
147
148 // Token: 0x04002E56 RID: 11862
149 [JsonProperty]
150 public bool stamina;
151 }
152}
Definition EMono.cs:6