11 public Dictionary<int, BGMData> bgms
15 return ELayer.core.refs.dictBGM;
20 public override void OnInit()
44 Msg.Nerun(
"nPlaylist",
"UN_nerun_smile3");
49 this.windows[0].AddBottomButton(
"togglePlaylist",
new UnityAction(this.TogglePL),
false);
51 foreach (
int key
in ELayer._map._plDay)
53 if (this.bgms.ContainsKey(key))
55 this.itemsDay.Add(this.bgms[key]);
58 using (List<int>.Enumerator enumerator =
ELayer._map._plNight.GetEnumerator())
60 while (enumerator.MoveNext())
62 int key2 = enumerator.Current;
63 if (this.bgms.ContainsKey(key2))
65 this.itemsNight.Add(this.bgms[key2]);
71 this.windows[1].SetActive(
false);
72 this.windows[0].SetPosition();
73 this.multi.Double =
false;
76 foreach (
ListOwner listOwner
in this.multi.owners)
78 listOwner.OnSwitchContent();
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)
89 if (
ELayer.debug.allBGM ||
ELayer.player.knownBGMs.Contains(bgmdata.id))
97 bool flag = bgmdata.id != 0;
98 using (List<BGMData>.Enumerator enumerator2 = list.GetEnumerator())
100 while (enumerator2.MoveNext())
102 if (enumerator2.Current.id == bgmdata.id)
131 idTitle =
"wPlaylist"
136 idTitle =
"wPlaylist2"
139 this.multi.Build(UIList.SortMode.ByNone);
143 public void TogglePL()
145 this.day = !this.day;
147 this.multi.Refresh();
152 public override void OnKill()
156 ELayer.Sound.StopBGM(0f,
false);
157 ELayer._zone.RefreshBGM();
160 ELayer._map._plDay.Clear();
161 ELayer._map._plNight.Clear();
162 foreach (BGMData bgmdata
in this.itemsDay)
164 ELayer._map._plDay.Add(bgmdata.id);
166 foreach (BGMData bgmdata2
in this.itemsNight)
168 ELayer._map._plNight.Add(bgmdata2.id);
170 UnityEngine.Object.DestroyImmediate(
ELayer._map.plDay);
171 ELayer._map.plDay =
null;
172 ELayer._zone.RefreshPlaylist();
173 if (!this.keepPlaying)
175 ELayer.Sound.StopBGM(0f,
false);
176 ELayer._zone.RefreshBGM();
181 public override void OnSwitchContent(Window window)
183 if (this.multi.owners.Count > 0)
185 this.multi.owners[window.windowIndex].OnSwitchContent();
190 public List<BGMData> itemsDay =
new List<BGMData>();
193 public List<BGMData> itemsNight =
new List<BGMData>();
202 public bool keepPlaying;
208 public bool dayNight;
211 public LayerEditPlaylist.Mode mode;
243 public override string IdTitle
252 public override void List()
254 this.list.callbacks =
new UIList.Callback<BGMData,
ItemGeneral>
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)
262 b.AddSubButton(
EClass.core.refs.icons.resume, delegate
264 EClass.Sound.PlayBGM(a, 0f, 0f);
269 b.AddSubButton(
EClass.core.refs.icons.down, delegate
271 BGMData select = this.items.Move(a, 1);
272 this.list.OnMove(a, select);
274 b.AddSubButton(
EClass.core.refs.icons.up, delegate
276 BGMData select = this.items.Move(a, -1);
277 this.list.OnMove(a, select);
283 b.button1.soundClick =
null;
290 this.items.Remove(c);
295 if (this.layer.board !=
null)
297 this.layer.board.data.idBGM = ((this.layer.board.data.idBGM == c.id) ? 0 : c.id);
298 this.layer.board.ApplyData();
302 this.layer.jukebox.OnSetBGM(c);
305 onList = delegate(UIList.SortMode m)
307 foreach (BGMData o
in this.items)
313 this.list.List(
false);
317 public List<BGMData> items;
320 public string idTitle;