Elin Modding Docs Doc
Loading...
Searching...
No Matches
LayerResource.cs
1using System;
2using System.Collections.Generic;
3
4// Token: 0x020005BB RID: 1467
5public class LayerResource : ELayer
6{
7 // Token: 0x0600282F RID: 10287 RVA: 0x000E31C0 File Offset: 0x000E13C0
8 public override void OnInit()
9 {
10 this.list2.sortMode = ELayer.player.pref.sortResources;
11 this.RefreshCategory();
12 if (!LayerResource.selectCat.IsEmpty())
13 {
14 this.list.Select<SourceCategory.Row>((SourceCategory.Row a) => a.id == LayerResource.selectCat, true);
15 }
16 else
17 {
18 this.list.Select(0, true);
19 }
20 LayerResource.selectCat = null;
21 WindowMenu menuRight = this.windows[0].menuRight;
22 menuRight.AddButton2Line("sort", () => this.list2.sortMode.ToString(), delegate(UIButton b)
23 {
24 this.list2.NextSort();
25 }, null, "2line");
26 menuRight.AddButton2Line("stockCapacity", () => ELayer._map.Stocked.weight.ToString() + "/" + ELayer._map.Stocked.maxWeight.ToString(), null, null, "2line");
27 }
28
29 // Token: 0x06002830 RID: 10288 RVA: 0x000E32A5 File Offset: 0x000E14A5
30 public override void OnKill()
31 {
32 ELayer.player.pref.sortResources = this.list2.sortMode;
33 }
34
35 // Token: 0x06002831 RID: 10289 RVA: 0x000E32C4 File Offset: 0x000E14C4
36 public void RefreshCategory()
37 {
38 HashSet<string> track = ELayer.player.trackedCategories;
39 this.list.Clear();
40 this.list.callbacks = new UIList.Callback<SourceCategory.Row, ButtonCategory>
41 {
42 onClick = delegate(SourceCategory.Row a, ButtonCategory b)
43 {
44 this.ShowThings(a);
45 },
46 onInstantiate = delegate(SourceCategory.Row cat, ButtonCategory b)
47 {
48 b.toggle.SetActive(true);
49 b.toggle.isOn = track.Contains(cat.id);
50 b.toggle.onValueChanged.AddListener(delegate(bool isOn)
51 {
52 SE.ClickGeneral();
53 if (isOn)
54 {
55 track.Add(cat.id);
56 }
57 else
58 {
59 track.Remove(cat.id);
60 }
61 UIResourceTrack.Refresh();
62 });
63 int sum = ELayer._map.Stocked.categoryMap[cat.id].sum;
64 b.mainText.text = cat.GetText("name", false).ToTitleCase(false) + " (" + sum.ToString() + ")";
65 b.SetFold(cat.children.Count > 0, true, delegate(UIList l)
66 {
67 foreach (SourceCategory.Row row2 in ELayer.sources.categories.rows)
68 {
69 if (row2.parent == cat)
70 {
71 l.Add(row2);
72 }
73 }
74 });
75 },
76 onRefresh = null
77 };
78 foreach (SourceCategory.Row row in ELayer.sources.categories.rows)
79 {
80 if (!(row.id == "new") && !(row.id == "stash") && row.parent == null)
81 {
82 this.list.Add(row);
83 }
84 }
85 this.list.Refresh(false);
86 UIResourceTrack.Refresh();
87 }
88
89 // Token: 0x06002832 RID: 10290 RVA: 0x000E33C8 File Offset: 0x000E15C8
90 public void ShowThings(SourceCategory.Row cat)
91 {
92 HashSet<string> track = ELayer.player.trackedCards;
93 this.list2.callbacks = new UIList.Callback<Thing, ButtonGrid>
94 {
95 onRedraw = delegate(Thing a, ButtonGrid b, int i)
96 {
97 b.SetCard(a, ButtonGrid.Mode.Default, null);
98 bool check = track.Contains(a.source.id);
99 b.SetCheck(check);
100 },
101 onClick = delegate(Thing a, ButtonGrid b)
102 {
103 if (!track.Contains(a.source.id))
104 {
105 track.Add(a.source.id);
106 }
107 else
108 {
109 track.Remove(a.source.id);
110 }
111 UIResourceTrack.Refresh();
112 this.list2.dsv.refresh();
113 SE.Tab();
114 },
115 onList = delegate(UIList.SortMode m)
116 {
117 List<Thing> list = new List<Thing>();
118 list = ELayer._map.Stocked.ListThingsInCategory(cat);
119 for (int i = 0; i < list.Count; i++)
120 {
121 list[i].SetSortVal(m, CurrencyType.Money);
122 }
123 list.Sort((Thing a, Thing b) => a.sortVal - b.sortVal);
124 int num = 0;
125 int num2 = 0;
126 foreach (Thing thing in list)
127 {
128 this.list2.Add(thing);
129 num += thing.Num;
130 num2 += thing.Num;
131 }
132 this.windows[0].textStats.SetText("statsTotal".lang(list.Count.ToString() ?? "", num.ToString() ?? "", num2.ToString() ?? "", null, null));
133 }
134 };
135 this.list2.List();
136 }
137
138 // Token: 0x0400165F RID: 5727
139 public UIList list;
140
141 // Token: 0x04001660 RID: 5728
142 public UIDynamicList list2;
143
144 // Token: 0x04001661 RID: 5729
145 public UICardInfo info;
146
147 // Token: 0x04001662 RID: 5730
148 public UINote noteOverview;
149
150 // Token: 0x04001663 RID: 5731
151 public static string selectCat;
152}
Definition Thing.cs:10