Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
WindowCharaMini Class Reference
Inheritance diagram for WindowCharaMini:
WindowController

Public Member Functions

void SetChara (Chara c)
 
override void OnSwitchContent (Window window)
 
void Refresh (int idTab)
 
void RefreshEquipment ()
 
virtual void OnSwitchContent (Window window)
 

Public Attributes

Chara chara
 
UIHeader moldHeader
 
UIHeader moldHeader2
 
UIText textName
 
UIText textInfo1
 
UIText textInfo2
 
UIList moldListResist
 
UIList moldListFeat
 
Transform contentList
 
UINote note
 
UIList listEq
 
Material matItem
 
Color colorUnequipped
 
- Public Attributes inherited from WindowController
Window window
 

Private Attributes

UIHeader _header
 

Detailed Description

Definition at line 4 of file WindowCharaMini.cs.

Member Function Documentation

◆ OnSwitchContent()

override void WindowCharaMini.OnSwitchContent ( Window  window)
inlinevirtual

Reimplemented from WindowController.

Definition at line 40 of file WindowCharaMini.cs.

41 {
42 if (chara != null)
43 {
45 }
46 }
list. Refresh()
int idTab
Definition: Window.cs:694

References chara, Window.idTab, Refresh(), and WindowController.window.

◆ Refresh()

void WindowCharaMini.Refresh ( int  idTab)
inline

Definition at line 48 of file WindowCharaMini.cs.

49 {
50 if (chara == null)
51 {
52 return;
53 }
54 contentList.DestroyChildren();
55 note.Clear();
56 note.SetActive(enable: false);
58 textInfo1.text = "_DV".lang(chara.DV.ToString() ?? "", chara.PV.ToString() ?? "");
59 textInfo2.text = "_style".lang(Lang._weight(chara.body.GetWeight(armorOnly: true)) ?? "", chara.elements.GetOrCreateElement(chara.GetArmorSkill()).Name, ("style" + chara.body.GetAttackStyle()).lang());
60 UIList list = default(UIList);
61 if (idTab == 0)
62 {
63 Header("resistance", null);
64 ListResist();
65 list.callbacks = new UIList.Callback<Element, ButtonElement>
66 {
67 onInstantiate = delegate(Element a, ButtonElement b)
68 {
69 b.SetGrid(a, chara);
70 },
71 onList = delegate
72 {
73 foreach (SourceElement.Row item in EClass.sources.elements.rows.Where((SourceElement.Row a) => a.category == "resist" && ((!a.tag.Contains("hidden") && !a.tag.Contains("high")) || chara.Evalue(a.id) != 0)))
74 {
76 }
77 }
78 };
79 list.List();
80 }
81 else if (idTab == 1)
82 {
83 Header("mutation", null);
84 ListFeat();
85 list.callbacks = new UIList.Callback<Feat, ButtonElement>
86 {
87 onClick = delegate(Feat a, ButtonElement b)
88 {
90 },
91 onInstantiate = delegate(Feat a, ButtonElement b)
92 {
94 },
95 onList = delegate
96 {
97 foreach (Element item2 in chara.elements.ListElements((Element a) => a.source.category == "mutation" && a.Value != 0))
98 {
99 list.Add(item2);
100 }
101 }
102 };
103 list.List();
104 if (list.items.Count == 0)
105 {
106 _header.SetActive(enable: false);
107 list.SetActive(enable: false);
108 }
109 Header("etherDisease", null);
110 ListFeat();
111 list.callbacks = new UIList.Callback<Feat, ButtonElement>
112 {
113 onClick = delegate(Feat a, ButtonElement b)
114 {
116 },
117 onInstantiate = delegate(Feat a, ButtonElement b)
118 {
120 },
121 onList = delegate
122 {
123 foreach (Element item3 in chara.elements.ListElements((Element a) => a.source.category == "ether" && a.Value != 0))
124 {
125 list.Add(item3);
126 }
127 }
128 };
129 list.List();
130 if (list.items.Count == 0)
131 {
132 _header.SetActive(enable: false);
133 list.SetActive(enable: false);
134 }
135 Header("innateFeats", null);
136 ListFeat();
137 list.callbacks = new UIList.Callback<Feat, ButtonElement>
138 {
139 onClick = delegate(Feat a, ButtonElement b)
140 {
142 },
143 onInstantiate = delegate(Feat a, ButtonElement b)
144 {
146 },
147 onList = delegate
148 {
149 foreach (Element item4 in chara.elements.ListElements((Element a) => a.source.category == "feat" && a.HasTag("innate") && a.Value != 0))
150 {
151 list.Add(item4);
152 }
153 }
154 };
155 list.List();
156 Header("feats", null);
157 ListFeat();
158 list.callbacks = new UIList.Callback<Feat, ButtonElement>
159 {
160 onClick = delegate(Feat a, ButtonElement b)
161 {
163 },
164 onInstantiate = delegate(Feat a, ButtonElement b)
165 {
167 },
168 onList = delegate
169 {
170 foreach (Element item5 in chara.elements.ListElements((Element a) => a.source.category == "feat" && !a.HasTag("innate") && a.Value != 0))
171 {
172 list.Add(item5);
173 }
174 },
175 onSort = (Feat a, UIList.SortMode m) => a.GetSortVal(m)
176 };
177 list.ChangeSort(UIList.SortMode.ByID);
178 list.List();
179 }
180 else if (idTab == 2)
181 {
182 if (chara.c_upgrades == null)
183 {
184 chara.c_upgrades = new CharaUpgrade();
185 }
186 CharaUpgrade upgrades = chara.c_upgrades;
187 CharaGenes genes = chara.c_genes;
188 int num = upgrades.spent;
189 if (genes != null)
190 {
191 num += genes.GetTotalCost();
192 }
193 note.SetActive(enable: true);
194 note.AddText("feat_pet".lang(chara.feat.ToString() ?? "", num.ToString() ?? ""));
195 note.AddText("feat_inferior".lang(chara.CurrentGeneSlot.ToString() ?? "", chara.MaxGeneSlot.ToString() ?? "", ((genes != null) ? genes.inferior : 0).ToString() ?? ""));
196 note.Space(8);
197 foreach (CharaUpgrade.Item item6 in upgrades.items)
198 {
199 if (!Element.List_MainAttributesMajor.Contains(item6.idEle))
200 {
201 Element element = Element.Create(item6.idEle, item6.value);
202 note.AddText("upgraded".lang(element.Name.ToTitleCase(), item6.value.ToString() ?? "", item6.cost.ToString() ?? ""));
203 }
204 }
205 if (chara.c_genes != null)
206 {
207 foreach (DNA g in genes.items)
208 {
209 UIItem uIItem = note.AddItem("ItemGene");
210 uIItem.button1.mainText.SetText(g.GetText());
211 uIItem.button1.SetTooltip(delegate(UITooltip t)
212 {
213 UINote uINote = t.note;
214 uINote.Clear();
215 uINote.AddHeader(g.GetText());
216 g.WriteNote(uINote);
217 t.note.Build();
218 });
219 uIItem.button2.SetOnClick(delegate
220 {
221 if (!g.CanRemove())
222 {
223 SE.Beep();
224 }
225 else
226 {
227 Dialog.YesNo("dialog_removeGene", delegate
228 {
229 genes.inferior--;
230 SE.Trash();
231 genes.Remove(chara, g);
232 Refresh(idTab);
233 });
234 }
235 });
236 uIItem.button2.SetActive(genes != null && genes.inferior > 0);
237 }
238 }
239 if (EClass.debug.enable)
240 {
241 note.AddButton("add 20".lang(), delegate
242 {
243 chara.feat += 20;
244 Refresh(idTab);
245 });
246 note.AddButton("grow 100".lang(), delegate
247 {
248 chara.feat += 100;
250 Refresh(idTab);
251 });
252 }
253 if (upgrades.count > 0)
254 {
255 note.AddButton("feat_reset".lang(), delegate
256 {
257 upgrades.Reset(chara);
258 SE.Trash();
259 Refresh(idTab);
260 });
261 }
262 note.Build();
263 }
264 else if (idTab == 3)
265 {
266 note.SetActive(enable: true);
267 WindowChara.RefreshNote(chara, note, shortMode: true);
268 }
270 void Header(string lang, string lang2)
271 {
273 _header.SetText(lang);
274 if (lang2 != null)
275 {
276 Util.Instantiate(moldHeader2, contentList).SetText(lang2);
277 }
278 }
279 void ListFeat()
280 {
282 }
283 void ListResist()
284 {
286 }
287 }
void SetElement(Element _e, ElementContainer _owner, Mode _mode=Mode.Skill)
void SetGrid(Element e, Chara c)
ElementContainerCard elements
Definition: Card.cs:37
CharaUpgrade c_upgrades
Definition: Card.cs:1733
CharaGenes c_genes
Definition: Card.cs:1745
int feat
Definition: Card.cs:358
string NameSimple
Definition: Card.cs:2015
int Evalue(int ele)
Definition: Card.cs:2431
AttackStyle GetAttackStyle()
Definition: CharaBody.cs:427
int GetWeight(bool armorOnly=false)
Definition: CharaBody.cs:384
int inferior
Definition: CharaGenes.cs:10
int GetTotalCost()
Definition: CharaGenes.cs:20
List< DNA > items
Definition: CharaGenes.cs:7
void Reset(Chara c)
Definition: CharaUpgrade.cs:75
List< Item > items
Definition: CharaUpgrade.cs:61
CharaBody body
Definition: Chara.cs:91
override int GetArmorSkill()
Definition: Chara.cs:7101
int MaxGeneSlot
Definition: Chara.cs:891
int CurrentGeneSlot
Definition: Chara.cs:894
void TryUpgrade(bool msg=true)
Definition: Chara.cs:7796
override int DV
Definition: Chara.cs:714
override int PV
Definition: Chara.cs:743
bool enable
Definition: CoreDebug.cs:285
Definition: DNA.cs:8
bool CanRemove()
Definition: DNA.cs:234
string GetText()
Definition: DNA.cs:534
void WriteNote(UINote n)
Definition: DNA.cs:539
Definition: EClass.cs:5
static SourceManager sources
Definition: EClass.cs:42
static CoreDebug debug
Definition: EClass.cs:48
List< Element > ListElements(Func< Element, bool > shoudList=null, Comparison< Element > comparison=null)
Element GetOrCreateElement(Element ele)
int id
Definition: ELEMENT.cs:240
SourceElement.Row source
Definition: ELEMENT.cs:263
bool HasTag(string tag)
Definition: ELEMENT.cs:463
int GetSortVal(UIList.SortMode m)
Definition: ELEMENT.cs:834
int Value
Definition: ELEMENT.cs:282
virtual string Name
Definition: ELEMENT.cs:294
static Element Create(int id, int v=0)
Definition: ELEMENT.cs:913
static int[] List_MainAttributesMajor
Definition: ELEMENT.cs:232
Definition: FEAT.cs:249
Definition: Lang.cs:6
static string _weight(int a, int b, bool showUnit=true, int unitSize=0)
Definition: Lang.cs:172
SourceElement elements
UIText mainText
Definition: UIButton.cs:102
void SetTooltip(Action< UITooltip > onShowTooltip=null, bool enable=true)
Definition: UIButton.cs:361
void SetText(string s)
Definition: UIHeader.cs:24
Definition: UIItem.cs:5
UIButton button1
Definition: UIItem.cs:18
UIButton button2
Definition: UIItem.cs:20
Definition: UIList.cs:9
List< object > items
Definition: UIList.cs:241
SortMode
Definition: UIList.cs:27
override void Add(object item)
Definition: UIList.cs:302
void ChangeSort(SortMode m)
Definition: UIList.cs:705
override void List()
Definition: UIList.cs:717
Definition: UINote.cs:6
void Clear()
Definition: UINote.cs:35
UIItem AddItem(string id)
Definition: UINote.cs:139
UIItem AddHeader(string text, Sprite sprite=null)
Definition: UINote.cs:79
UIButton AddButton(string text, Action onClick)
Definition: UINote.cs:182
UIItem AddText(string text, FontColor color=FontColor.DontChange)
Definition: UINote.cs:113
void Space(int sizeY=0, int sizeX=1)
Definition: UINote.cs:62
void Build()
Definition: UINote.cs:49
void SetText(string s)
Definition: UIText.cs:159
UINote note
Definition: UITooltip.cs:21
Definition: Util.cs:10
static Transform Instantiate(string path, Component parent=null)
Definition: Util.cs:67
static void Toggle(Element e)
Transform contentList
UIHeader moldHeader2
UIHeader moldHeader
static void RefreshNote(Chara chara, UINote n, bool shortMode=false)
Definition: WindowChara.cs:854

References _header, Lang._weight(), UIList.Add(), UINote.AddButton(), UINote.AddHeader(), UINote.AddItem(), UINote.AddText(), Chara.body, UINote.Build(), UIItem.button1, UIItem.button2, Card.c_genes, Card.c_upgrades, DNA.CanRemove(), UIList.ChangeSort(), chara, UINote.Clear(), contentList, Element.Create(), Chara.CurrentGeneSlot, EClass.debug, Chara.DV, Card.elements, SourceManager.elements, CoreDebug.enable, Card.Evalue(), Card.feat, Chara.GetArmorSkill(), CharaBody.GetAttackStyle(), ElementContainer.GetOrCreateElement(), Element.GetSortVal(), DNA.GetText(), CharaGenes.GetTotalCost(), CharaBody.GetWeight(), Element.HasTag(), Header, Element.id, CharaGenes.inferior, item, CharaGenes.items, CharaUpgrade.items, UIList.items, UIList.List(), Element.List_MainAttributesMajor, ElementContainer.ListElements(), UIButton.mainText, Chara.MaxGeneSlot, Element.Name, Card.NameSimple, UITooltip.note, note, Chara.PV, Refresh(), ButtonElement.SetElement(), ButtonElement.SetGrid(), UIText.SetText(), UIButton.SetTooltip(), Element.source, EClass.sources, UINote.Space(), CharaUpgrade.spent, textName, WidgetTracker.Toggle(), Chara.TryUpgrade(), Element.Value, and DNA.WriteNote().

◆ RefreshEquipment()

void WindowCharaMini.RefreshEquipment ( )
inline

Definition at line 289 of file WindowCharaMini.cs.

290 {
291 UIList uIList = listEq;
292 uIList.Clear();
293 uIList.callbacks = new UIList.Callback<BodySlot, UIItem>
294 {
295 onClick = delegate
296 {
297 },
298 onInstantiate = delegate(BodySlot a, UIItem b)
299 {
300 if (a.elementId == 0)
301 {
302 b.button1.interactable = false;
303 }
304 else
305 {
306 Thing thing = (Thing)(b.refObj = a.thing);
307 if (thing != null)
308 {
309 b.button1.icon.material = matItem;
310 thing.SetImage(b.button1.icon);
311 }
312 else
313 {
314 b.button1.icon.material = null;
315 b.button1.icon.sprite = SpriteSheet.Get("Media/Graphics/Icon/Element/", "eq_" + a.element.alias);
316 b.button1.icon.color = colorUnequipped;
317 b.button1.icon.SetNativeSize();
318 }
319 b.button1.SetTooltip(delegate(UITooltip tt)
320 {
321 if (a.thing != null)
322 {
323 a.thing.WriteNote(tt.note);
324 }
325 else
326 {
327 tt.note.Clear();
328 tt.note.AddHeader(a.name);
329 tt.note.AddText("noEQ".lang());
330 if (a.elementId == 35)
331 {
333 }
334 }
335 tt.note.Build();
336 });
337 }
338 },
339 onSort = (BodySlot a, UIList.SortMode m) => -a.element.sort
340 };
341 foreach (BodySlot slot in chara.body.slots)
342 {
343 if (slot.elementId != 44)
344 {
345 uIList.Add(slot);
346 }
347 }
348 uIList.Sort();
349 uIList.Refresh();
350 }
string name
Definition: BodySlot.cs:14
int elementId
Definition: BodySlot.cs:6
Thing thing
Definition: BodySlot.cs:8
SourceElement.Row element
Definition: BodySlot.cs:16
void SetImage(Image image, int dir, int idSkin=0)
Definition: Card.cs:5355
List< BodySlot > slots
Definition: CharaBody.cs:8
static Sprite Get(string id)
Definition: SpriteSheet.cs:28
Definition: Thing.cs:8
override void WriteNote(UINote n, Action< UINote > onWriteNote=null, IInspect.NoteMode mode=IInspect.NoteMode.Default, Recipe recipe=null)
Definition: Thing.cs:837
static void AddAttackEvaluation(UINote n, Chara chara, Thing current=null)
Definition: Thing.cs:1373
Image icon
Definition: UIButton.cs:110
object refObj
Definition: UIItem.cs:30
override void Clear()
Definition: UIList.cs:349
virtual void Refresh(bool highlightLast=false)
Definition: UIList.cs:424
void Sort()
Definition: UIList.cs:697

References Thing.AddAttackEvaluation(), UINote.AddHeader(), UINote.AddText(), Chara.body, UINote.Build(), UIItem.button1, UIList.Clear(), UINote.Clear(), BodySlot.element, BodySlot.elementId, SpriteSheet.Get(), UIButton.icon, BodySlot.name, UITooltip.note, UIItem.refObj, Card.SetImage(), UIButton.SetTooltip(), CharaBody.slots, BodySlot.thing, and Thing.WriteNote().

◆ SetChara()

void WindowCharaMini.SetChara ( Chara  c)
inline

Definition at line 34 of file WindowCharaMini.cs.

35 {
36 chara = c;
37 Refresh(0);
38 }

References chara, and Refresh().

Member Data Documentation

◆ _header

UIHeader WindowCharaMini._header
private

Definition at line 32 of file WindowCharaMini.cs.

Referenced by Refresh().

◆ chara

Chara WindowCharaMini.chara

Definition at line 6 of file WindowCharaMini.cs.

Referenced by OnSwitchContent(), Refresh(), and SetChara().

◆ colorUnequipped

Color WindowCharaMini.colorUnequipped

Definition at line 30 of file WindowCharaMini.cs.

◆ contentList

Transform WindowCharaMini.contentList

Definition at line 22 of file WindowCharaMini.cs.

Referenced by Refresh().

◆ listEq

UIList WindowCharaMini.listEq

Definition at line 26 of file WindowCharaMini.cs.

◆ matItem

Material WindowCharaMini.matItem

Definition at line 28 of file WindowCharaMini.cs.

◆ moldHeader

UIHeader WindowCharaMini.moldHeader

Definition at line 8 of file WindowCharaMini.cs.

◆ moldHeader2

UIHeader WindowCharaMini.moldHeader2

Definition at line 10 of file WindowCharaMini.cs.

◆ moldListFeat

UIList WindowCharaMini.moldListFeat

Definition at line 20 of file WindowCharaMini.cs.

◆ moldListResist

UIList WindowCharaMini.moldListResist

Definition at line 18 of file WindowCharaMini.cs.

◆ note

UINote WindowCharaMini.note

Definition at line 24 of file WindowCharaMini.cs.

Referenced by Refresh().

◆ textInfo1

UIText WindowCharaMini.textInfo1

Definition at line 14 of file WindowCharaMini.cs.

◆ textInfo2

UIText WindowCharaMini.textInfo2

Definition at line 16 of file WindowCharaMini.cs.

◆ textName

UIText WindowCharaMini.textName

Definition at line 12 of file WindowCharaMini.cs.

Referenced by Refresh().


The documentation for this class was generated from the following file: