Elin Modding Docs Doc
Loading...
Searching...
No Matches
LayerEditPlaylist.cs
1using System;
2using System.Collections.Generic;
3using UnityEngine;
4using UnityEngine.Events;
5
6// Token: 0x0200053F RID: 1343
8{
9 // Token: 0x17000B1E RID: 2846
10 // (get) Token: 0x0600246D RID: 9325 RVA: 0x000CD51E File Offset: 0x000CB71E
11 public Dictionary<int, BGMData> bgms
12 {
13 get
14 {
15 return ELayer.core.refs.dictBGM;
16 }
17 }
18
19 // Token: 0x0600246E RID: 9326 RVA: 0x000CD52F File Offset: 0x000CB72F
20 public override void OnInit()
21 {
22 }
23
24 // Token: 0x0600246F RID: 9327 RVA: 0x000CD531 File Offset: 0x000CB731
25 public void Activate(TraitJukeBox _box)
26 {
27 this.jukebox = _box;
28 this.single = true;
29 this.Activate(LayerEditPlaylist.Mode.LotBGM);
30 }
31
32 // Token: 0x06002470 RID: 9328 RVA: 0x000CD548 File Offset: 0x000CB748
33 public void Activate(TraitHouseBoard _board)
34 {
35 this.board = _board;
36 this.single = true;
37 this.Activate(LayerEditPlaylist.Mode.LotBGM);
38 }
39
40 // Token: 0x06002471 RID: 9329 RVA: 0x000CD560 File Offset: 0x000CB760
41 public void Activate(LayerEditPlaylist.Mode _mode = LayerEditPlaylist.Mode.Playlist)
42 {
43 this.mode = _mode;
44 Msg.Nerun("nPlaylist", "UN_nerun_smile3");
45 if (this.mode == LayerEditPlaylist.Mode.Playlist)
46 {
47 if (this.dayNight)
48 {
49 this.windows[0].AddBottomButton("togglePlaylist", new UnityAction(this.TogglePL), false);
50 }
51 foreach (int key in ELayer._map._plDay)
52 {
53 if (this.bgms.ContainsKey(key))
54 {
55 this.itemsDay.Add(this.bgms[key]);
56 }
57 }
58 using (List<int>.Enumerator enumerator = ELayer._map._plNight.GetEnumerator())
59 {
60 while (enumerator.MoveNext())
61 {
62 int key2 = enumerator.Current;
63 if (this.bgms.ContainsKey(key2))
64 {
65 this.itemsNight.Add(this.bgms[key2]);
66 }
67 }
68 goto IL_12C;
69 }
70 }
71 this.windows[1].SetActive(false);
72 this.windows[0].SetPosition();
73 this.multi.Double = false;
74 IL_12C:
75 this.Refresh();
76 foreach (ListOwner listOwner in this.multi.owners)
77 {
78 listOwner.OnSwitchContent();
79 }
80 }
81
82 // Token: 0x06002472 RID: 9330 RVA: 0x000CD700 File Offset: 0x000CB900
83 public void Refresh()
84 {
85 List<BGMData> list = (this.mode == LayerEditPlaylist.Mode.LotBGM) ? new List<BGMData>() : (this.day ? this.itemsDay : this.itemsNight);
86 List<BGMData> list2 = new List<BGMData>();
87 foreach (BGMData bgmdata in this.bgms.Values)
88 {
89 if (ELayer.debug.allBGM || ELayer.player.knownBGMs.Contains(bgmdata.id))
90 {
91 if (this.mode == LayerEditPlaylist.Mode.LotBGM)
92 {
93 list.Add(bgmdata);
94 }
95 else
96 {
97 bool flag = bgmdata.id != 0;
98 using (List<BGMData>.Enumerator enumerator2 = list.GetEnumerator())
99 {
100 while (enumerator2.MoveNext())
101 {
102 if (enumerator2.Current.id == bgmdata.id)
103 {
104 flag = false;
105 break;
106 }
107 }
108 }
109 if (flag)
110 {
111 list2.Add(bgmdata);
112 }
113 }
114 }
115 }
116 this.multi.Clear();
117 if (this.mode == LayerEditPlaylist.Mode.LotBGM)
118 {
119 this.multi.AddOwner(0, new LayerEditPlaylist.ListBGM
120 {
121 items = list,
122 idTitle = "wBGMLot",
123 single = true
124 });
125 }
126 else
127 {
128 this.multi.AddOwner(0, new LayerEditPlaylist.ListBGM
129 {
130 items = list,
131 idTitle = "wPlaylist"
132 });
133 this.multi.AddOwner(1, new LayerEditPlaylist.ListBGM
134 {
135 items = list2,
136 idTitle = "wPlaylist2"
137 });
138 }
139 this.multi.Build(UIList.SortMode.ByNone);
140 }
141
142 // Token: 0x06002473 RID: 9331 RVA: 0x000CD8AC File Offset: 0x000CBAAC
143 public void TogglePL()
144 {
145 this.day = !this.day;
146 this.Refresh();
147 this.multi.Refresh();
148 SE.Click();
149 }
150
151 // Token: 0x06002474 RID: 9332 RVA: 0x000CD8D4 File Offset: 0x000CBAD4
152 public override void OnKill()
153 {
154 if (this.mode == LayerEditPlaylist.Mode.LotBGM)
155 {
156 ELayer.Sound.StopBGM(0f, false);
157 ELayer._zone.RefreshBGM();
158 return;
159 }
160 ELayer._map._plDay.Clear();
161 ELayer._map._plNight.Clear();
162 foreach (BGMData bgmdata in this.itemsDay)
163 {
164 ELayer._map._plDay.Add(bgmdata.id);
165 }
166 foreach (BGMData bgmdata2 in this.itemsNight)
167 {
168 ELayer._map._plNight.Add(bgmdata2.id);
169 }
170 UnityEngine.Object.DestroyImmediate(ELayer._map.plDay);
171 ELayer._map.plDay = null;
172 ELayer._zone.RefreshPlaylist();
173 if (!this.keepPlaying)
174 {
175 ELayer.Sound.StopBGM(0f, false);
176 ELayer._zone.RefreshBGM();
177 }
178 }
179
180 // Token: 0x06002475 RID: 9333 RVA: 0x000CDA10 File Offset: 0x000CBC10
181 public override void OnSwitchContent(Window window)
182 {
183 if (this.multi.owners.Count > 0)
184 {
185 this.multi.owners[window.windowIndex].OnSwitchContent();
186 }
187 }
188
189 // Token: 0x040013D8 RID: 5080
190 public List<BGMData> itemsDay = new List<BGMData>();
191
192 // Token: 0x040013D9 RID: 5081
193 public List<BGMData> itemsNight = new List<BGMData>();
194
195 // Token: 0x040013DA RID: 5082
196 public UIMultiList multi;
197
198 // Token: 0x040013DB RID: 5083
199 public bool day;
200
201 // Token: 0x040013DC RID: 5084
202 public bool keepPlaying;
203
204 // Token: 0x040013DD RID: 5085
205 public bool single;
206
207 // Token: 0x040013DE RID: 5086
208 public bool dayNight;
209
210 // Token: 0x040013DF RID: 5087
211 public LayerEditPlaylist.Mode mode;
212
213 // Token: 0x040013E0 RID: 5088
214 public TraitHouseBoard board;
215
216 // Token: 0x040013E1 RID: 5089
217 public TraitJukeBox jukebox;
218
219 // Token: 0x02000A5B RID: 2651
220 public enum Mode
221 {
222 // Token: 0x04002A7D RID: 10877
223 Playlist,
224 // Token: 0x04002A7E RID: 10878
225 LotBGM
226 }
227
228 // Token: 0x02000A5C RID: 2652
229 public class ListBGM : ListOwner<BGMData, ItemGeneral>
230 {
231 // Token: 0x170011DE RID: 4574
232 // (get) Token: 0x060040A3 RID: 16547 RVA: 0x0014F8E4 File Offset: 0x0014DAE4
233 public new LayerEditPlaylist layer
234 {
235 get
236 {
237 return this.layer as LayerEditPlaylist;
238 }
239 }
240
241 // Token: 0x170011DF RID: 4575
242 // (get) Token: 0x060040A4 RID: 16548 RVA: 0x0014F8F1 File Offset: 0x0014DAF1
243 public override string IdTitle
244 {
245 get
246 {
247 return this.idTitle;
248 }
249 }
250
251 // Token: 0x060040A5 RID: 16549 RVA: 0x0014F8FC File Offset: 0x0014DAFC
252 public override void List()
253 {
254 this.list.callbacks = new UIList.Callback<BGMData, ItemGeneral>
255 {
256 onInstantiate = delegate(BGMData a, ItemGeneral b)
257 {
258 b.SetMainText(((a.id > 1) ? "♪ " : "") + a._name.IsEmpty(a.name).ToTitleCase(false), null, true);
259 b.button1.keyText.text = (a.id.ToString() ?? "");
260 if (a.id != 0 && this.layer.jukebox == null)
261 {
262 b.AddSubButton(EClass.core.refs.icons.resume, delegate
263 {
264 EClass.Sound.PlayBGM(a, 0f, 0f);
265 }, null, null);
266 }
267 if (this.main && this.layer.mode == LayerEditPlaylist.Mode.Playlist)
268 {
269 b.AddSubButton(EClass.core.refs.icons.down, delegate
270 {
271 BGMData select = this.items.Move(a, 1);
272 this.list.OnMove(a, select);
273 }, null, null);
274 b.AddSubButton(EClass.core.refs.icons.up, delegate
275 {
276 BGMData select = this.items.Move(a, -1);
277 this.list.OnMove(a, select);
278 }, null, null);
279 }
280 b.Build();
281 if (!this.single)
282 {
283 b.button1.soundClick = null;
284 }
285 },
286 onClick = delegate(BGMData c, ItemGeneral i)
287 {
288 if (this.layer.mode == LayerEditPlaylist.Mode.Playlist)
289 {
290 this.items.Remove(c);
291 (this.other as LayerEditPlaylist.ListBGM).items.Add(c);
292 base.MoveToOther(c);
293 return;
294 }
295 if (this.layer.board != null)
296 {
297 this.layer.board.data.idBGM = ((this.layer.board.data.idBGM == c.id) ? 0 : c.id);
298 this.layer.board.ApplyData();
299 this.layer.Close();
300 return;
301 }
302 this.layer.jukebox.OnSetBGM(c);
303 this.layer.Close();
304 },
305 onList = delegate(UIList.SortMode m)
306 {
307 foreach (BGMData o in this.items)
308 {
309 this.list.Add(o);
310 }
311 }
312 };
313 this.list.List(false);
314 }
315
316 // Token: 0x04002A7F RID: 10879
317 public List<BGMData> items;
318
319 // Token: 0x04002A80 RID: 10880
320 public string idTitle;
321
322 // Token: 0x04002A81 RID: 10881
323 public bool single;
324 }
325}
Definition Msg.cs:7