Elin Modding Docs Doc
Loading...
Searching...
No Matches
LayerPeople.cs
1using System;
2using System.Collections.Generic;
3using UnityEngine.UI;
4
5// Token: 0x020005A9 RID: 1449
6public class LayerPeople : ELayer
7{
8 // Token: 0x060027B7 RID: 10167 RVA: 0x000E0A8E File Offset: 0x000DEC8E
9 public override bool HeaderIsListOf(int id)
10 {
11 return true;
12 }
13
14 // Token: 0x060027B8 RID: 10168 RVA: 0x000E0A94 File Offset: 0x000DEC94
15 public override void OnInit()
16 {
17 this.showMode = ELayer.player.pref.modePoeple;
18 if (this.multi.owners.Count == 0)
19 {
20 this.multi.AddOwner(0, new ListPeople
21 {
22 textTab = "residents",
23 memberType = FactionMemberType.Default
24 });
25 this.multi.AddOwner(0, new ListPeople
26 {
27 textTab = "livestock",
28 memberType = FactionMemberType.Livestock
29 });
30 this.multi.AddOwner(0, new ListPeople
31 {
32 textTab = "guests",
33 memberType = FactionMemberType.Guest
34 });
35 this.langHint = "h_residents";
36 }
37 this.multi.Build(ELayer.player.pref.sortPeople);
38 this.multi.owners[0].menu = new WindowMenu(this.layoutMenu);
39 }
40
41 // Token: 0x060027B9 RID: 10169 RVA: 0x000E0B77 File Offset: 0x000DED77
42 public LayerPeople SetOnConfirm(Action _onConfirm)
43 {
44 this.onConfirm = _onConfirm;
45 return this;
46 }
47
48 // Token: 0x060027BA RID: 10170 RVA: 0x000E0B81 File Offset: 0x000DED81
49 public void Confirm()
50 {
51 if (this.onConfirm != null)
52 {
53 this.onConfirm();
54 }
55 this.Close();
56 }
57
58 // Token: 0x060027BB RID: 10171 RVA: 0x000E0B9C File Offset: 0x000DED9C
59 public override void OnKill()
60 {
61 ELayer.player.pref.sortPeople = this.multi.owners[0].list.sortMode;
62 ELayer.player.pref.modePoeple = this.showMode;
63 ELayer.scene.screenElin.focusOption = null;
64 }
65
66 // Token: 0x060027BC RID: 10172 RVA: 0x000E0BF8 File Offset: 0x000DEDF8
67 public override void OnSwitchContent(Window window)
68 {
69 if (this.multi.Double)
70 {
71 this.multi.owners[window.windowIndex].OnSwitchContent();
72 return;
73 }
74 this.multi.owners[window.idTab].OnSwitchContent();
75 }
76
77 // Token: 0x060027BD RID: 10173 RVA: 0x000E0C4C File Offset: 0x000DEE4C
78 public static LayerPeople Create(LayerPeople.Mode mode)
79 {
80 string path = "LayerPeople";
81 if (mode == LayerPeople.Mode.Double)
82 {
83 path = "LayerPeople/LayerPeopleDouble";
84 }
85 return Layer.Create(path) as LayerPeople;
86 }
87
88 // Token: 0x060027BE RID: 10174 RVA: 0x000E0C74 File Offset: 0x000DEE74
89 public static LayerPeople Create<T>(string langHint = null, Chara owner = null) where T : BaseListPeople
90 {
91 LayerPeople layerPeople = LayerPeople.Create(LayerPeople.Mode.Select);
92 T t = Activator.CreateInstance<T>();
93 t.owner = owner;
94 layerPeople.multi.AddOwner(0, t);
95 layerPeople.langHint = langHint;
96 return layerPeople;
97 }
98
99 // Token: 0x060027BF RID: 10175 RVA: 0x000E0CB4 File Offset: 0x000DEEB4
100 public static LayerPeople CreateReserve()
101 {
102 LayerPeople layerPeople = LayerPeople.Create(LayerPeople.Mode.Hire);
103 layerPeople.multi.AddOwner(0, new ListPeopleCallReserve
104 {
105 textHeader = "actCallReserve"
106 });
107 layerPeople.langHint = "h_reserve";
108 ELayer.ui.AddLayer(layerPeople);
109 return layerPeople;
110 }
111
112 // Token: 0x060027C0 RID: 10176 RVA: 0x000E0CFC File Offset: 0x000DEEFC
113 public static LayerPeople CreateGraze(AreaType areaType)
114 {
115 return LayerPeople.Create(LayerPeople.Mode.Double);
116 }
117
118 // Token: 0x060027C1 RID: 10177 RVA: 0x000E0D04 File Offset: 0x000DEF04
119 public static LayerPeople CreateSelectEmbarkMembers(List<Chara> settlers)
120 {
121 LayerPeople layerPeople = LayerPeople.Create(LayerPeople.Mode.Double);
122 List<Chara> list = new List<Chara>();
123 foreach (Chara chara in ELayer.game.lastActiveZone.map.charas)
124 {
125 if (chara.IsHomeMember())
126 {
127 list.Add(chara);
128 }
129 }
130 layerPeople.multi.AddOwner(0, new ListPeopleEmbark
131 {
132 textHeader = "candidates",
133 charas = list
134 });
135 layerPeople.multi.AddOwner(1, new ListPeopleEmbark
136 {
137 textHeader = "listEmbark",
138 charas = settlers
139 });
140 return layerPeople;
141 }
142
143 // Token: 0x060027C2 RID: 10178 RVA: 0x000E0DC4 File Offset: 0x000DEFC4
144 public static LayerPeople Create(BaseListPeople list)
145 {
146 LayerPeople layerPeople = LayerPeople.Create(LayerPeople.Mode.Select);
147 layerPeople.multi.AddOwner(0, list);
148 return layerPeople;
149 }
150
151 // Token: 0x060027C3 RID: 10179 RVA: 0x000E0DDC File Offset: 0x000DEFDC
152 public static LayerPeople CreateSelect(string langHeader, string langHint, Action<UIList> onList, Action<Chara> onClick, Func<Chara, string> _onShowSubText = null)
153 {
154 LayerPeople layerPeople = LayerPeople.Create(LayerPeople.Mode.Select);
155 layerPeople.multi.AddOwner(0, new ListPeopleSelect
156 {
157 textHeader = langHeader,
158 onList = onList,
159 onClick = onClick,
160 onShowSubText = _onShowSubText
161 });
162 layerPeople.langHint = langHint;
163 ELayer.ui.AddLayer(layerPeople);
164 return layerPeople;
165 }
166
167 // Token: 0x04001619 RID: 5657
168 public static Chara slaveToBuy;
169
170 // Token: 0x0400161A RID: 5658
171 public LayerPeople.ShowMode showMode;
172
173 // Token: 0x0400161B RID: 5659
174 public LayoutGroup layoutMenu;
175
176 // Token: 0x0400161C RID: 5660
177 public Action onConfirm;
178
179 // Token: 0x0400161D RID: 5661
180 public UIMultiList multi;
181
182 // Token: 0x02000AF7 RID: 2807
183 public enum Mode
184 {
185 // Token: 0x04002C6F RID: 11375
186 Default,
187 // Token: 0x04002C70 RID: 11376
188 Select,
189 // Token: 0x04002C71 RID: 11377
190 Double,
191 // Token: 0x04002C72 RID: 11378
192 Hire
193 }
194
195 // Token: 0x02000AF8 RID: 2808
196 public enum ShowMode
197 {
198 // Token: 0x04002C74 RID: 11380
199 Job,
200 // Token: 0x04002C75 RID: 11381
201 Race,
202 // Token: 0x04002C76 RID: 11382
203 Work
204 }
205}
Definition Chara.cs:12