DanceSelect.cs 36 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247
  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using I2.Loc;
  6. using MaidStatus;
  7. using UnityEngine;
  8. using wf;
  9. public class DanceSelect : WfScreenChildren
  10. {
  11. public static void CreateDanceData()
  12. {
  13. if (DanceSelect.dance_data_list_ != null)
  14. {
  15. return;
  16. }
  17. HashSet<int> enabled_id_list = new HashSet<int>();
  18. Action<string> action = delegate(string file_name)
  19. {
  20. file_name += ".nei";
  21. if (!GameUty.FileSystem.IsExistentFile(file_name))
  22. {
  23. return;
  24. }
  25. using (AFileBase afileBase2 = GameUty.FileSystem.FileOpen(file_name))
  26. {
  27. using (CsvParser csvParser2 = new CsvParser())
  28. {
  29. bool condition2 = csvParser2.Open(afileBase2);
  30. NDebug.Assert(condition2, file_name + "\nopen failed.");
  31. for (int m = 1; m < csvParser2.max_cell_y; m++)
  32. {
  33. if (csvParser2.IsCellToExistData(0, m))
  34. {
  35. int cellAsInteger2 = csvParser2.GetCellAsInteger(0, m);
  36. if (!enabled_id_list.Contains(cellAsInteger2))
  37. {
  38. enabled_id_list.Add(cellAsInteger2);
  39. }
  40. }
  41. }
  42. }
  43. }
  44. };
  45. action("dance_enabled_list");
  46. for (int i = 0; i < GameUty.PathList.Count; i++)
  47. {
  48. action("dance_enabled_list_" + GameUty.PathList[i]);
  49. }
  50. DanceSelect.dance_data_list_ = new List<DanceData>();
  51. using (AFileBase afileBase = GameUty.FileSystem.FileOpen("dance_setting.nei"))
  52. {
  53. using (CsvParser csvParser = new CsvParser())
  54. {
  55. bool condition = csvParser.Open(afileBase);
  56. NDebug.Assert(condition, "file open error[dance_setting.nei]");
  57. for (int j = 1; j < csvParser.max_cell_y; j++)
  58. {
  59. if (csvParser.IsCellToExistData(0, j))
  60. {
  61. int num = 0;
  62. int cellAsInteger = csvParser.GetCellAsInteger(num++, j);
  63. if (enabled_id_list.Contains(cellAsInteger))
  64. {
  65. DanceData danceData = new DanceData();
  66. danceData.ID = cellAsInteger;
  67. danceData.title = csvParser.GetCellAsString(num++, j);
  68. danceData.title = danceData.title.Replace("《改行》", "\n");
  69. danceData.title_font_size = csvParser.GetCellAsInteger(num++, j);
  70. danceData.title_offset_y = csvParser.GetCellAsInteger(num++, j);
  71. danceData.select_chara_num = csvParser.GetCellAsInteger(num++, j);
  72. danceData.scene_name = csvParser.GetCellAsString(num++, j);
  73. danceData.commentary_text = csvParser.GetCellAsString(num++, j);
  74. danceData.commentary_text = danceData.commentary_text.Replace("《改行》", "\n");
  75. danceData.sample_image_name = csvParser.GetCellAsString(num++, j);
  76. danceData.bgm_file_name = csvParser.GetCellAsString(num++, j);
  77. danceData.preset_name = new List<string>();
  78. for (int k = 0; k < danceData.select_chara_num; k++)
  79. {
  80. danceData.preset_name.Add(string.Empty);
  81. }
  82. string cellAsString = csvParser.GetCellAsString(num++, j);
  83. if (!string.IsNullOrEmpty(cellAsString))
  84. {
  85. string[] array = cellAsString.Split(new char[]
  86. {
  87. ','
  88. });
  89. NDebug.Assert(array.Length <= danceData.preset_name.Count, "ダンス[" + danceData.title + "]のプリセット人数設定が\n多すぎます");
  90. int num2 = 0;
  91. while (num2 < danceData.preset_name.Count && num2 < array.Length)
  92. {
  93. danceData.preset_name[num2] = array[num2].Trim();
  94. num2++;
  95. }
  96. }
  97. string cellAsString2 = csvParser.GetCellAsString(num++, j);
  98. if (!string.IsNullOrEmpty(cellAsString2))
  99. {
  100. danceData.scenario_progress = int.Parse(cellAsString2);
  101. }
  102. string cellAsString3 = csvParser.GetCellAsString(num++, j);
  103. if (!string.IsNullOrEmpty(cellAsString3))
  104. {
  105. danceData.Term = (DanceData.DanceTerm)Enum.Parse(typeof(DanceData.DanceTerm), cellAsString3);
  106. }
  107. danceData.AppealCutinName = csvParser.GetCellAsString(num++, j);
  108. danceData.ReversalCutinName = csvParser.GetCellAsString(num++, j);
  109. danceData.danceshow_scene = csvParser.GetCellAsString(num++, j);
  110. danceData.danceshow_image = csvParser.GetCellAsString(num++, j);
  111. string cellAsString4 = csvParser.GetCellAsString(num++, j);
  112. if (!string.IsNullOrEmpty(cellAsString4))
  113. {
  114. foreach (string text in cellAsString4.Split(new char[]
  115. {
  116. ','
  117. }))
  118. {
  119. string s = text.Split(new char[]
  120. {
  121. '='
  122. })[1].Split(new char[]
  123. {
  124. '_'
  125. })[1];
  126. danceData.maid_order.Add(int.Parse(s) - 1);
  127. }
  128. }
  129. danceData.bgType = ((!(csvParser.GetCellAsString(num++, j) == "ライブステージ")) ? DanceData.BgType.Theater : DanceData.BgType.LiveStage);
  130. danceData.InitialPlayable = csvParser.IsCellToExistData(num++, j);
  131. danceData.IsPlayable = danceData.InitialPlayable;
  132. danceData.RhythmGameCorrespond = (csvParser.GetCellAsString(num++, j) == "◯");
  133. DanceSelect.dance_data_list_.Add(danceData);
  134. }
  135. }
  136. }
  137. }
  138. }
  139. }
  140. public override void Awake()
  141. {
  142. DanceSelect.CreateDanceData();
  143. base.Awake();
  144. if (GameMain.Instance.ScriptMgr.adv_kag.tag_backup.ContainsKey("only_release"))
  145. {
  146. this.m_ExistOnlyRelease = true;
  147. this.m_OnlyRelease = int.Parse(GameMain.Instance.ScriptMgr.adv_kag.tag_backup["only_release"]);
  148. DanceSelect.m_SelectedDance.Clear();
  149. }
  150. this.m_ForceTheater = GameMain.Instance.ScriptMgr.adv_kag.tag_backup.ContainsKey("force_theater");
  151. this.m_ReleaseButton.gameObject.SetActive(false);
  152. EventDelegate.Add(this.OkButton.onClick, new EventDelegate.Callback(this.OnClickOkButton));
  153. EventDelegate.Add(this.CancelButton.onClick, new EventDelegate.Callback(this.OnClickCancelButton));
  154. GameObject gameObject = this.OkButton.transform.parent.gameObject;
  155. this.m_MainButtonPanel = gameObject.GetComponent<UIPanel>();
  156. EventDelegate.Add(this.m_SubOkButton.onClick, new EventDelegate.Callback(this.OnClickOkButton));
  157. EventDelegate.Add(this.m_SubCancelButton.onClick, new EventDelegate.Callback(this.OnClickCancelButton));
  158. GameObject gameObject2 = this.m_SubOkButton.transform.parent.gameObject;
  159. EventDelegate.Add(this.m_BackButton.onClick, new EventDelegate.Callback(this.OnClickCancelButton));
  160. EventDelegate.Add(this.m_ReleaseButton.onClick, new EventDelegate.Callback(this.SwitchAllRelease));
  161. this.m_DanceShowPanel.SetActive(false);
  162. this.m_DanceModePanel.gameObject.SetActive(false);
  163. switch (RhythmAction_Mgr.NowDance)
  164. {
  165. case RhythmAction_Mgr.DanceType.Free:
  166. case RhythmAction_Mgr.DanceType.View:
  167. case RhythmAction_Mgr.DanceType.Touch:
  168. case RhythmAction_Mgr.DanceType.VrDance:
  169. {
  170. gameObject2.SetActive(false);
  171. this.m_DanceModePanel.gameObject.SetActive(true);
  172. this.m_MainButtonPanel.alpha = 0f;
  173. Transform transform = this.m_DanceModePanel.transform.Find("ButtonGroup");
  174. bool flag = GameMain.Instance.VRMode && !GameMain.Instance.OvrMgr.OvrCamera.IsNoHandController;
  175. if (flag)
  176. {
  177. transform.localPosition = Vector3.zero;
  178. }
  179. IEnumerator enumerator = transform.GetEnumerator();
  180. try
  181. {
  182. while (enumerator.MoveNext())
  183. {
  184. object obj = enumerator.Current;
  185. Transform transform2 = (Transform)obj;
  186. if (!flag && transform2.name == "TouchMode")
  187. {
  188. transform2.gameObject.SetActive(false);
  189. }
  190. else
  191. {
  192. UIButton component = transform2.GetComponent<UIButton>();
  193. UILabel component2 = transform2.Find("Label").GetComponent<UILabel>();
  194. this.m_DanceModeButtonGroup.Add(component, component2);
  195. EventDelegate.Add(component.onClick, new EventDelegate.Callback(this.SetDanceMode));
  196. }
  197. }
  198. }
  199. finally
  200. {
  201. IDisposable disposable;
  202. if ((disposable = (enumerator as IDisposable)) != null)
  203. {
  204. disposable.Dispose();
  205. }
  206. }
  207. break;
  208. }
  209. case RhythmAction_Mgr.DanceType.Challenge:
  210. gameObject.transform.parent = this.CharaSelectPanel.ParentPanel.gameObject.transform;
  211. gameObject2.transform.parent = this.MusicSelectPanel.ParentPanel.gameObject.transform;
  212. UTY.GetChildObject(this.MusicSelectPanel.ParentPanel.gameObject, "SelectPanel", false).SetActive(false);
  213. this.m_DanceShowPanel.SetActive(true);
  214. break;
  215. case RhythmAction_Mgr.DanceType.VS:
  216. case RhythmAction_Mgr.DanceType.VS_Skip:
  217. gameObject.SetActive(false);
  218. this.m_SubCancelButton.gameObject.SetActive(false);
  219. break;
  220. }
  221. this.select_panelset_array_ = new DanceSelect.SelectPanelSet[]
  222. {
  223. this.CharaSelectPanel,
  224. this.MusicSelectPanel
  225. };
  226. for (int i = 0; i < this.select_panelset_array_.Length; i++)
  227. {
  228. NDebug.AssertNull(this.select_panelset_array_[i].ContentsPanel != null && this.select_panelset_array_[i].ParentPanel != null);
  229. }
  230. this.m_CharaSelectLabel = UTY.GetChildObject(this.CharaSelectPanel.ParentPanel.gameObject, "ExplanatoryText/Value", false).GetComponent<UILabel>();
  231. Localize component3 = this.m_CharaSelectLabel.GetComponent<Localize>();
  232. if (component3 != null)
  233. {
  234. NGUILabelSpacingHold component4 = component3.gameObject.GetComponent<NGUILabelSpacingHold>();
  235. if (component4 != null)
  236. {
  237. UnityEngine.Object.DestroyImmediate(component4);
  238. }
  239. UnityEngine.Object.DestroyImmediate(component3);
  240. }
  241. this.m_CharaSelectLabel.text = "ダンスを行うメイドを選択してください。";
  242. this.chara_select_mgr_ = this.CharaSelectPanel.ParentPanel.gameObject.GetComponentInChildren<CharacterSelectManager>();
  243. NDebug.AssertNull(this.chara_select_mgr_ != null);
  244. }
  245. private void CreateMusicPanel()
  246. {
  247. if (!RhythmAction_Mgr.IsVSDance || RhythmAction_Mgr.NowState != RhythmAction_Mgr.DanceState.Dance_Second)
  248. {
  249. DanceSelect.m_SelectedDance.Clear();
  250. }
  251. this.MusicSelectPanel.ContentsGrid.hideInactive = true;
  252. UIWFTabPanel uiwftabPanel = this.MusicSelectPanel.ContentsGrid.GetComponent<UIWFTabPanel>();
  253. if (!uiwftabPanel)
  254. {
  255. uiwftabPanel = this.MusicSelectPanel.ContentsGrid.gameObject.AddComponent<UIWFTabPanel>();
  256. }
  257. GameObject gameObject = this.MusicSelectPanel.ContentsGrid.gameObject;
  258. for (int i = 0; i < gameObject.transform.childCount; i++)
  259. {
  260. Transform child = gameObject.transform.GetChild(i);
  261. UnityEngine.Object.Destroy(child.gameObject);
  262. }
  263. gameObject.transform.DetachChildren();
  264. int musicReleaseFlag = RhythmAction_Mgr.MusicReleaseFlag;
  265. this.m_SecondDanceData = null;
  266. UIWFTabButton uiwftabButton = null;
  267. int j = 0;
  268. while (j < DanceSelect.dance_data_list_.Count)
  269. {
  270. if (RhythmAction_Mgr.NowDance == RhythmAction_Mgr.DanceType.Challenge)
  271. {
  272. break;
  273. }
  274. if (RhythmAction_Mgr.IsVSDance)
  275. {
  276. if (this.m_SecondDanceData == null && RhythmAction_Mgr.NowState == RhythmAction_Mgr.DanceState.Dance_First && VsDanceDataMgr.Instance.CurrentSetting.Music2ndID == DanceSelect.dance_data_list_[j].ID)
  277. {
  278. this.m_SecondDanceData = DanceSelect.dance_data_list_[j];
  279. }
  280. if (DanceSelect.dance_data_list_[j].Term != DanceData.DanceTerm.VS外 && !((!this.m_ForceTheater) ? (DanceSelect.dance_data_list_[j].bgType == DanceData.BgType.Theater) : (DanceSelect.dance_data_list_[j].bgType != DanceData.BgType.Theater)))
  281. {
  282. if (!this.m_ExistOnlyRelease || DanceSelect.dance_data_list_[j].scenario_progress == this.m_OnlyRelease)
  283. {
  284. if (this.m_ExistOnlyRelease || DanceSelect.dance_data_list_[j].IsPlayable)
  285. {
  286. goto IL_20A;
  287. }
  288. }
  289. }
  290. }
  291. else if (this.m_AllRelease || DanceSelect.dance_data_list_[j].IsPlayable)
  292. {
  293. goto IL_20A;
  294. }
  295. IL_347:
  296. j++;
  297. continue;
  298. IL_20A:
  299. GameObject gameObject2 = Utility.CreatePrefab(gameObject, "SceneDanceSelect/Prefab/SongPlate", true);
  300. UTY.GetChildObject(gameObject2, "title", false).GetComponent<UILabel>().fontSize = DanceSelect.dance_data_list_[j].title_font_size;
  301. UTY.GetChildObject(gameObject2, "title", false).transform.localPosition = new Vector3(0f, (float)DanceSelect.dance_data_list_[j].title_offset_y, 0f);
  302. UTY.GetChildObject(gameObject2, "title", false).GetComponent<UILabel>().text = DanceSelect.dance_data_list_[j].title;
  303. gameObject2.name = DanceSelect.dance_data_list_[j].title;
  304. UIWFTabButton componentInChildren = gameObject2.GetComponentInChildren<UIWFTabButton>();
  305. if (!uiwftabButton)
  306. {
  307. uiwftabButton = componentInChildren;
  308. }
  309. if (RhythmAction_Mgr.IsVSDance && DanceSelect.dance_data_list_[j].select_chara_num > GameMain.Instance.CharacterMgr.GetStockMaidCount())
  310. {
  311. componentInChildren.isEnabled = false;
  312. this.m_NotSelectDance.Add(componentInChildren);
  313. }
  314. this.m_SongPlatelUIPair.Add(DanceSelect.dance_data_list_[j], componentInChildren);
  315. EventDelegate.Add(componentInChildren.onSelect, new EventDelegate.Callback(this.OnSelectSong));
  316. goto IL_347;
  317. }
  318. gameObject.GetComponent<UIGrid>().repositionNow = true;
  319. this.MusicSelectPanel.ContentsPanel.GetComponent<UIScrollView>().ResetPosition();
  320. uiwftabPanel.UpdateChildren();
  321. if (RhythmAction_Mgr.IsVSDance && this.m_NotSelectDance.Count > 0)
  322. {
  323. foreach (UIWFTabButton uiwftabButton2 in this.m_SongPlatelUIPair.Values)
  324. {
  325. EventDelegate.Add(uiwftabButton2.onClick, new EventDelegate.Callback(this.PlateDisable));
  326. }
  327. }
  328. if (this.music_info_ != null)
  329. {
  330. this.music_info_.Release();
  331. }
  332. GameObject childObject = UTY.GetChildObject(this.MusicSelectPanel.ParentPanel.gameObject, "MujicInfo", false);
  333. if (RhythmAction_Mgr.NowDance == RhythmAction_Mgr.DanceType.Challenge)
  334. {
  335. childObject.SetActive(false);
  336. this.music_info_ = new DanceSelectMusicInfo(this.m_DanceShowPanel);
  337. }
  338. else
  339. {
  340. this.music_info_ = new DanceSelectMusicInfo(childObject);
  341. }
  342. GameObject infoUI = this.music_info_.InfoUI;
  343. if (RhythmAction_Mgr.IsVSDance)
  344. {
  345. infoUI.SetActive(false);
  346. }
  347. if (uiwftabButton && DanceSelect.m_SelectedDance.Count == 0 && this.IsFreeDance())
  348. {
  349. uiwftabPanel.Select(uiwftabButton);
  350. }
  351. }
  352. private void PlateDisable()
  353. {
  354. foreach (UIWFSelectButton uiwfselectButton in this.m_NotSelectDance)
  355. {
  356. uiwfselectButton.isEnabled = false;
  357. }
  358. }
  359. private void SwitchAllRelease()
  360. {
  361. this.m_AllRelease = !this.m_AllRelease;
  362. this.m_ReleaseButton.defaultColor = (this.m_ReleaseButton.hover = ((!this.m_AllRelease) ? this.m_ReleaseOffCol : this.m_ReleaseOnCol));
  363. this.CreateMusicPanel();
  364. }
  365. public void Start()
  366. {
  367. this.CreateMusicPanel();
  368. this.Init();
  369. this.m_ReleaseButton.defaultColor = (this.m_ReleaseButton.hover = ((!this.m_AllRelease) ? this.m_ReleaseOffCol : this.m_ReleaseOnCol));
  370. if (!this.IsFreeDance())
  371. {
  372. this.m_SettingObj.SetUIMode(string.Empty);
  373. }
  374. this.m_WarningText.SetActive(false);
  375. if (RhythmAction_Mgr.NowDance == RhythmAction_Mgr.DanceType.Challenge)
  376. {
  377. if (DanceSelect.ChallengeDay < GameMain.Instance.CharacterMgr.status.days)
  378. {
  379. List<DanceData> list = (from e in DanceSelect.dance_data_list_
  380. where e.bgType == DanceData.BgType.Theater
  381. select e).ToList<DanceData>();
  382. if (!this.m_AllRelease)
  383. {
  384. list = (from e in list
  385. where e.IsPlayable
  386. select e).ToList<DanceData>();
  387. }
  388. int index = UnityEngine.Random.Range(0, list.Count);
  389. string title = list[index].title;
  390. for (int i = 0; i < list.Count; i++)
  391. {
  392. if (list[i].title == title)
  393. {
  394. DanceSelect.m_SelectedDance.Clear();
  395. DanceSelect.m_SelectedDance.Add(list[i]);
  396. DanceSelect.m_ChallengeDanceData = list[i];
  397. break;
  398. }
  399. }
  400. DanceSelect.ChallengeDay = GameMain.Instance.CharacterMgr.status.days;
  401. }
  402. else
  403. {
  404. DanceSelect.m_SelectedDance.Clear();
  405. DanceSelect.m_SelectedDance.Add(DanceSelect.m_ChallengeDanceData);
  406. }
  407. this.music_info_.SetDanceData(DanceSelect.m_SelectedDance.First<DanceData>());
  408. this.m_SubOkButton.isEnabled = (DanceSelect.m_ChallengeDanceData.select_chara_num <= GameMain.Instance.CharacterMgr.GetStockMaidCount());
  409. this.m_WarningText.SetActive(!this.m_SubOkButton.isEnabled);
  410. }
  411. }
  412. protected override void OnCall()
  413. {
  414. uGUITutorialPanel.OpenTutorial("SceneDanceSelect", null, false);
  415. GameMain.Instance.SysShortcut.strSceneHelpName = "SceneDanceSelect";
  416. CharacterMgr characterMgr = GameMain.Instance.CharacterMgr;
  417. characterMgr.DeactivateCharaAll();
  418. for (int i = 0; i < characterMgr.GetMaidCount(); i++)
  419. {
  420. if (characterMgr.GetMaid(i) != null)
  421. {
  422. characterMgr.Deactivate(i, false);
  423. }
  424. }
  425. GameMain.Instance.BgMgr.ChangeBg(this.m_BGName);
  426. GameMain.Instance.MainCamera.SetTargetPos(this.m_CamPos, true);
  427. GameMain.Instance.MainCamera.SetDistance(this.m_CamDistance, true);
  428. GameMain.Instance.MainCamera.SetAroundAngle(this.m_CamAngle, true);
  429. GameMain.Instance.SoundMgr.PlayBGM(this.m_BGM, 0.5f, true);
  430. this.Init();
  431. if (this.IsFreeDance())
  432. {
  433. this.CallDanceModeSelect();
  434. }
  435. else if (RhythmAction_Mgr.IsVSDance && DanceSelect.m_SelectedDance.Count > 0)
  436. {
  437. this.CallCharaSelect();
  438. }
  439. else
  440. {
  441. this.CallMusicSelect();
  442. }
  443. if (RhythmAction_Mgr.IsVSDance && DanceSelect.m_SelectedDance.Count == 0)
  444. {
  445. UIWFTabPanel componentInChildren = this.MusicSelectPanel.ContentsPanel.GetComponentInChildren<UIWFTabPanel>();
  446. componentInChildren.Select(this.MusicSelectPanel.ContentsGrid.GetChild(0).GetComponentInChildren<UIWFTabButton>());
  447. }
  448. if (GameMain.Instance.VRMode)
  449. {
  450. UnityEngine.Object original = Resources.Load("OVR/DanceOVRDialog");
  451. GameObject gameObject = UnityEngine.Object.Instantiate(original) as GameObject;
  452. GameObject gameObject2 = GameObject.Find("/UI Root");
  453. gameObject.transform.SetParent(gameObject2.transform, false);
  454. gameObject.GetComponent<UIPanel>().depth = 250;
  455. this.ovr_dance_cam_dlg_ = gameObject.GetComponent<FFNameDialog>();
  456. this.ovr_dance_cam_dlg_.Init();
  457. gameObject.SetActive(false);
  458. }
  459. }
  460. public void OnDestroy()
  461. {
  462. if (this.music_info_ != null)
  463. {
  464. this.music_info_.Release();
  465. }
  466. }
  467. public override void Update()
  468. {
  469. base.Update();
  470. if (GameMain.Instance.MainCamera.IsFadeProc() || GameMain.Instance.MainCamera.IsFadeOut())
  471. {
  472. return;
  473. }
  474. if (this.m_ReleaseButton.gameObject.activeSelf)
  475. {
  476. return;
  477. }
  478. foreach (KeyCode key in this.m_ReleseShowKey)
  479. {
  480. if (!Input.GetKey(key))
  481. {
  482. return;
  483. }
  484. }
  485. this.m_ReleaseButton.gameObject.SetActive(true);
  486. }
  487. private void Init()
  488. {
  489. this.m_DanceModePanel.alpha = 0f;
  490. for (int i = 0; i < this.select_panelset_array_.Length; i++)
  491. {
  492. this.select_panelset_array_[i].ParentPanel.gameObject.SetActive(true);
  493. this.select_panelset_array_[i].ParentPanel.alpha = 0f;
  494. }
  495. DanceMain.KaraokeMode = false;
  496. UIRect danceModePanel = this.m_DanceModePanel;
  497. float num = 0f;
  498. this.MusicSelectPanel.ParentPanel.alpha = num;
  499. num = num;
  500. this.CharaSelectPanel.ParentPanel.alpha = num;
  501. danceModePanel.alpha = num;
  502. if (this.IsFreeDance())
  503. {
  504. this.m_DanceModePanel.alpha = 1f;
  505. }
  506. else if (RhythmAction_Mgr.IsVSDance && DanceSelect.m_SelectedDance.Count > 0)
  507. {
  508. this.CharaSelectPanel.ParentPanel.alpha = 1f;
  509. }
  510. else
  511. {
  512. this.MusicSelectPanel.ParentPanel.alpha = 1f;
  513. }
  514. }
  515. public void SetCancelLabel(string cancel_call_label)
  516. {
  517. this.cancel_call_label_ = cancel_call_label;
  518. }
  519. private void CallMusicSelect()
  520. {
  521. string normalSprite = "cm3d2_common_nextbuttom";
  522. if (this.IsFreeDance())
  523. {
  524. this.OkButton.normalSprite = normalSprite;
  525. this.OkButton.isEnabled = true;
  526. }
  527. else
  528. {
  529. this.m_SubOkButton.normalSprite = normalSprite;
  530. }
  531. bool flag = false;
  532. bool flag2 = false;
  533. UIWFTabButton uiwftabButton = null;
  534. foreach (KeyValuePair<DanceData, UIWFTabButton> keyValuePair in this.m_SongPlatelUIPair)
  535. {
  536. if (RhythmAction_Mgr.IsRhythmGameMode)
  537. {
  538. keyValuePair.Value.transform.parent.gameObject.SetActive(keyValuePair.Key.RhythmGameCorrespond);
  539. if (!keyValuePair.Key.RhythmGameCorrespond)
  540. {
  541. if (DanceSelect.m_SelectedDance.Count<DanceData>() > 0 && DanceSelect.m_SelectedDance.First<DanceData>() == keyValuePair.Key)
  542. {
  543. keyValuePair.Value.SetSelect(false);
  544. flag = true;
  545. }
  546. }
  547. else if (flag && !flag2)
  548. {
  549. flag2 = true;
  550. keyValuePair.Value.SetSelect(true);
  551. }
  552. }
  553. else
  554. {
  555. keyValuePair.Value.transform.parent.gameObject.SetActive(true);
  556. }
  557. if (keyValuePair.Value.transform.parent.gameObject.activeSelf)
  558. {
  559. uiwftabButton = keyValuePair.Value;
  560. }
  561. }
  562. if (flag && !flag2)
  563. {
  564. uiwftabButton.SetSelect(true);
  565. }
  566. this.MusicSelectPanel.ContentsGrid.repositionNow = true;
  567. this.status_ = DanceSelect.Status.MusicSelect;
  568. if (this.MusicSelectPanel.ParentPanel.alpha != 1f)
  569. {
  570. iTween.ValueTo(base.gameObject, iTween.Hash(new object[]
  571. {
  572. "easetype",
  573. iTween.EaseType.easeOutQuad,
  574. "from",
  575. 0f,
  576. "to",
  577. 1f,
  578. "time",
  579. DanceSelect.kFadeTime,
  580. "delay",
  581. 0,
  582. "onUpdate",
  583. "OnUpdateFadeMusicPanel"
  584. }));
  585. if (this.CharaSelectPanel.ParentPanel.alpha != 0f)
  586. {
  587. iTween.ValueTo(base.gameObject, iTween.Hash(new object[]
  588. {
  589. "easetype",
  590. iTween.EaseType.easeOutQuad,
  591. "from",
  592. 1f,
  593. "to",
  594. 0f,
  595. "time",
  596. DanceSelect.kFadeTime,
  597. "delay",
  598. 0,
  599. "onUpdate",
  600. "OnUpdateFadeCharaPanel"
  601. }));
  602. }
  603. else if (this.m_DanceModePanel.alpha != 0f)
  604. {
  605. iTween.ValueTo(base.gameObject, iTween.Hash(new object[]
  606. {
  607. "easetype",
  608. iTween.EaseType.easeOutQuad,
  609. "from",
  610. 1f,
  611. "to",
  612. 0f,
  613. "time",
  614. DanceSelect.kFadeTime,
  615. "delay",
  616. 0,
  617. "onUpdate",
  618. "OnUpdateDanceModePanel"
  619. }));
  620. }
  621. }
  622. }
  623. private void CallCharaSelect()
  624. {
  625. string normalSprite = "cm3d2_common_okbuttom";
  626. if (RhythmAction_Mgr.IsVSDance)
  627. {
  628. this.m_SubOkButton.normalSprite = normalSprite;
  629. }
  630. else
  631. {
  632. this.OkButton.normalSprite = normalSprite;
  633. }
  634. this.status_ = DanceSelect.Status.CaharaSelect;
  635. DanceSelect.m_SelectedMaid.Clear();
  636. if (DanceSelect.m_SelectedDance.Count > 0)
  637. {
  638. int select_chara_num = DanceSelect.m_SelectedDance.First<DanceData>().select_chara_num;
  639. if (RhythmAction_Mgr.IsVSDance && this.m_SecondDanceData != null)
  640. {
  641. DanceSelect.m_SelectedDance.Add(this.m_SecondDanceData);
  642. }
  643. if (RhythmAction_Mgr.NowDance == RhythmAction_Mgr.DanceType.Challenge || RhythmAction_Mgr.IsVSDance)
  644. {
  645. this.m_CharaSelectLabel.text = "ダンスを行うメイドを" + select_chara_num + "人選択してください。";
  646. }
  647. if (1 < select_chara_num)
  648. {
  649. if (RhythmAction_Mgr.IsVSDance)
  650. {
  651. this.m_SubOkButton.isEnabled = false;
  652. }
  653. else
  654. {
  655. this.OkButton.isEnabled = false;
  656. }
  657. CharacterSelectManager.CallBackOnMultiSelect callBackOnMultiSelect = delegate(Maid[] maid_array)
  658. {
  659. DanceSelect.m_SelectedMaid.Clear();
  660. for (int j = 0; j < maid_array.Length; j++)
  661. {
  662. DanceSelect.m_SelectedMaid.Add(maid_array[j]);
  663. }
  664. if (RhythmAction_Mgr.IsVSDance)
  665. {
  666. this.m_SubOkButton.isEnabled = DanceSelect.m_SelectedMaid.All((Maid e) => e != null);
  667. }
  668. else if (RhythmAction_Mgr.NowDance == RhythmAction_Mgr.DanceType.Challenge)
  669. {
  670. this.OkButton.isEnabled = DanceSelect.m_SelectedMaid.All((Maid e) => e != null);
  671. }
  672. else
  673. {
  674. this.OkButton.isEnabled = DanceSelect.m_SelectedMaid.Any((Maid e) => e != null);
  675. }
  676. };
  677. this.chara_select_mgr_.SetCallBackOnMultiSelect(callBackOnMultiSelect);
  678. this.chara_select_mgr_.Create(CharacterSelectManager.Type.Multiple, select_chara_num, true);
  679. }
  680. else
  681. {
  682. CharacterSelectManager.CallBackOnSelect callBackCallBackOnSelect = delegate(Maid select_maid)
  683. {
  684. DanceSelect.m_SelectedMaid.Clear();
  685. DanceSelect.m_SelectedMaid.Add(select_maid);
  686. };
  687. this.chara_select_mgr_.SetCallBackCallBackOnSelect(callBackCallBackOnSelect);
  688. this.chara_select_mgr_.Create(CharacterSelectManager.Type.Select, 3, true);
  689. }
  690. if (RhythmAction_Mgr.IsVSDance)
  691. {
  692. for (int i = 0; i < GameMain.Instance.CharacterMgr.GetStockMaidCount(); i++)
  693. {
  694. Maid stockMaid = GameMain.Instance.CharacterMgr.GetStockMaid(i);
  695. if (!stockMaid.status.mainChara || stockMaid.status.heroineType != HeroineType.Original || !ScenarioData.IsMainPersonal(stockMaid))
  696. {
  697. this.chara_select_mgr_.RemoveMaidPlate(stockMaid);
  698. }
  699. }
  700. }
  701. }
  702. if (this.CharaSelectPanel.ParentPanel.alpha != 1f)
  703. {
  704. iTween.ValueTo(base.gameObject, iTween.Hash(new object[]
  705. {
  706. "easetype",
  707. iTween.EaseType.easeOutQuad,
  708. "from",
  709. 0f,
  710. "to",
  711. 1f,
  712. "time",
  713. DanceSelect.kFadeTime,
  714. "delay",
  715. 0,
  716. "onUpdate",
  717. "OnUpdateFadeCharaPanel"
  718. }));
  719. iTween.ValueTo(base.gameObject, iTween.Hash(new object[]
  720. {
  721. "easetype",
  722. iTween.EaseType.easeOutQuad,
  723. "from",
  724. 1f,
  725. "to",
  726. 0f,
  727. "time",
  728. DanceSelect.kFadeTime,
  729. "delay",
  730. 0,
  731. "onUpdate",
  732. "OnUpdateFadeMusicPanel"
  733. }));
  734. }
  735. }
  736. private void CallDanceModeSelect()
  737. {
  738. this.status_ = DanceSelect.Status.DanceModeSelect;
  739. this.m_MainButtonFade = true;
  740. if (this.m_DanceModePanel.alpha != 1f)
  741. {
  742. iTween.ValueTo(base.gameObject, iTween.Hash(new object[]
  743. {
  744. "easetype",
  745. iTween.EaseType.easeOutQuad,
  746. "from",
  747. 0f,
  748. "to",
  749. 1f,
  750. "time",
  751. DanceSelect.kFadeTime,
  752. "delay",
  753. 0,
  754. "onUpdate",
  755. "OnUpdateDanceModePanel"
  756. }));
  757. iTween.ValueTo(base.gameObject, iTween.Hash(new object[]
  758. {
  759. "easetype",
  760. iTween.EaseType.easeOutQuad,
  761. "from",
  762. 1f,
  763. "to",
  764. 0f,
  765. "time",
  766. DanceSelect.kFadeTime,
  767. "delay",
  768. 0,
  769. "onUpdate",
  770. "OnUpdateFadeMusicPanel"
  771. }));
  772. }
  773. }
  774. private void OnUpdateFadeMusicPanel(float val)
  775. {
  776. this.MusicSelectPanel.ParentPanel.alpha = val;
  777. if (this.m_MainButtonFade)
  778. {
  779. this.m_MainButtonPanel.alpha = val;
  780. }
  781. }
  782. private void OnUpdateFadeCharaPanel(float val)
  783. {
  784. this.CharaSelectPanel.ParentPanel.alpha = val;
  785. }
  786. private void OnUpdateDanceModePanel(float val)
  787. {
  788. this.m_DanceModePanel.alpha = val;
  789. }
  790. private void OnSelectSong()
  791. {
  792. if (RhythmAction_Mgr.NowDance == RhythmAction_Mgr.DanceType.Challenge)
  793. {
  794. return;
  795. }
  796. string name = UIWFSelectButton.current.gameObject.transform.parent.name;
  797. if (!UIWFSelectButton.current.isSelected)
  798. {
  799. return;
  800. }
  801. for (int i = 0; i < DanceSelect.dance_data_list_.Count; i++)
  802. {
  803. if (DanceSelect.dance_data_list_[i].title == name)
  804. {
  805. DanceSelect.m_SelectedDance.Clear();
  806. DanceSelect.m_SelectedDance.Add(DanceSelect.dance_data_list_[i]);
  807. this.music_info_.SetDanceData(DanceSelect.m_SelectedDance.First<DanceData>());
  808. if (!this.music_info_.InfoUI.activeSelf)
  809. {
  810. this.music_info_.InfoUI.SetActive(true);
  811. }
  812. break;
  813. }
  814. }
  815. }
  816. private void OnClickOkButton()
  817. {
  818. if (DanceSelect.m_SelectedDance == null)
  819. {
  820. return;
  821. }
  822. if (this.status_ == DanceSelect.Status.MusicSelect)
  823. {
  824. if (this.MusicSelectPanel.ParentPanel.alpha != 1f)
  825. {
  826. return;
  827. }
  828. this.m_MainButtonFade = false;
  829. this.CallCharaSelect();
  830. }
  831. else if (this.status_ == DanceSelect.Status.CaharaSelect)
  832. {
  833. if (DanceSelect.m_SelectedDance.First<DanceData>().select_chara_num == 1 && DanceSelect.m_SelectedMaid.Count <= 0)
  834. {
  835. return;
  836. }
  837. if (this.CharaSelectPanel.ParentPanel.alpha != 1f)
  838. {
  839. return;
  840. }
  841. DanceMain.SelectDanceData = DanceSelect.m_SelectedDance.First<DanceData>();
  842. string str = DanceSelect.m_SelectedDance.First<DanceData>().scene_name;
  843. if (RhythmAction_Mgr.NowDance == RhythmAction_Mgr.DanceType.Challenge && !string.IsNullOrEmpty(DanceSelect.m_SelectedDance.First<DanceData>().danceshow_scene))
  844. {
  845. str = DanceSelect.m_SelectedDance.First<DanceData>().danceshow_scene;
  846. }
  847. GameMain.Instance.ScriptMgr.EvalScript("tf['dance_scene_name'] = '" + str + "';");
  848. foreach (Maid maid in DanceSelect.m_SelectedMaid)
  849. {
  850. if (maid)
  851. {
  852. DanceSelect.SelectTopMaid = maid;
  853. break;
  854. }
  855. }
  856. this.m_SettingObj.DisSelectable();
  857. if (!GameMain.Instance.VRMode)
  858. {
  859. this.Finish();
  860. }
  861. else if (RhythmAction_Mgr.NowDance == RhythmAction_Mgr.DanceType.Touch)
  862. {
  863. this.OnOvrCamFree();
  864. }
  865. else
  866. {
  867. this.ovr_dance_cam_dlg_.Show("カメラのタイプを選んで下さい。", "自由カメラ", new FFNameDialog.OnClick(this.OnOvrCamFree), "移動カメラ", new FFNameDialog.OnClick(this.OnOvrCamMove));
  868. }
  869. }
  870. }
  871. private void OnClickCancelButton()
  872. {
  873. switch (this.status_)
  874. {
  875. case DanceSelect.Status.MusicSelect:
  876. if (this.MusicSelectPanel.ParentPanel.alpha != 1f)
  877. {
  878. return;
  879. }
  880. if (this.IsFreeDance())
  881. {
  882. this.m_MainButtonFade = true;
  883. this.CallDanceModeSelect();
  884. }
  885. else if (!string.IsNullOrEmpty(this.cancel_call_label_))
  886. {
  887. this.CancelFinish();
  888. }
  889. break;
  890. case DanceSelect.Status.CaharaSelect:
  891. if (this.CharaSelectPanel.ParentPanel.alpha != 1f)
  892. {
  893. return;
  894. }
  895. this.m_MainButtonFade = false;
  896. this.CallMusicSelect();
  897. break;
  898. case DanceSelect.Status.DanceModeSelect:
  899. if (this.m_DanceModePanel.alpha != 1f)
  900. {
  901. return;
  902. }
  903. if (!string.IsNullOrEmpty(this.cancel_call_label_))
  904. {
  905. this.CancelFinish();
  906. }
  907. break;
  908. }
  909. }
  910. private void CancelFinish()
  911. {
  912. DanceSelectManager danceSelectManager = base.parent_mgr as DanceSelectManager;
  913. NDebug.AssertNull(danceSelectManager != null);
  914. danceSelectManager.move_screen.SetNextLabel(this.cancel_call_label_);
  915. DanceSelect.m_SelectedDance.Clear();
  916. this.Finish();
  917. }
  918. private void SetDanceMode()
  919. {
  920. if (this.m_DanceModePanel.alpha != 1f)
  921. {
  922. return;
  923. }
  924. RhythmAction_Mgr.DanceType nowDance = RhythmAction_Mgr.NowDance;
  925. if (this.m_DanceModeButtonGroup[UIButton.current].transform.parent.name == "GameMode")
  926. {
  927. RhythmAction_Mgr.SetDanceType(RhythmAction_Mgr.DanceType.Free);
  928. }
  929. else if (this.m_DanceModeButtonGroup[UIButton.current].transform.parent.name == "ViewMode")
  930. {
  931. RhythmAction_Mgr.SetDanceType(RhythmAction_Mgr.DanceType.View);
  932. }
  933. else if (this.m_DanceModeButtonGroup[UIButton.current].transform.parent.name == "TouchMode")
  934. {
  935. RhythmAction_Mgr.SetDanceType(RhythmAction_Mgr.DanceType.Touch);
  936. }
  937. this.m_SettingObj.SetUIMode(this.m_DanceModeButtonGroup[UIButton.current].text);
  938. this.CallMusicSelect();
  939. }
  940. private void OnOvrCamFree()
  941. {
  942. GameMain.Instance.CMSystem.SetTmpGenericFlag("ダンスOVRカメラタイプ", 0);
  943. this.Finish();
  944. }
  945. private void OnOvrCamMove()
  946. {
  947. GameMain.Instance.CMSystem.SetTmpGenericFlag("ダンスOVRカメラタイプ", 1);
  948. this.Finish();
  949. }
  950. private bool IsFreeDance()
  951. {
  952. bool flag = RhythmAction_Mgr.NowDance == RhythmAction_Mgr.DanceType.Free;
  953. flag |= (RhythmAction_Mgr.NowDance == RhythmAction_Mgr.DanceType.View);
  954. return flag | RhythmAction_Mgr.NowDance == RhythmAction_Mgr.DanceType.Touch;
  955. }
  956. public override bool Finish()
  957. {
  958. bool flag = base.Finish();
  959. if (flag && 0 < DanceSelect.m_SelectedMaid.Count && RhythmAction_Mgr.IsVSDance)
  960. {
  961. GameMain.Instance.SoundMgr.StopBGM(1.5f);
  962. }
  963. return flag;
  964. }
  965. protected override void OnFinish()
  966. {
  967. if (DanceSelect.m_SelectedDance.Count > 0)
  968. {
  969. DanceSelect.SelectMaidActive(DanceSelect.m_SelectedDance.First<DanceData>());
  970. }
  971. base.parent_mgr.CallScreen("Move");
  972. GameMain.Instance.LoadIcon.NextLoadIcontImmediatelyDisplay();
  973. }
  974. public static void BenchMarkInit()
  975. {
  976. DanceSelect.SelectTopMaid = null;
  977. DanceSelect.m_SelectedDance.Clear();
  978. DanceSelect.m_SelectedMaid.Clear();
  979. DanceSelect.CreateDanceData();
  980. DanceData danceData = DanceSelect.dance_data_list_.SingleOrDefault((DanceData e) => e.title == "Night Magic Fire");
  981. NDebug.Assert(danceData != null, "ダンス曲「Night Magic Fire」が存在してません");
  982. DanceMain.SelectDanceData = danceData;
  983. GameMain.Instance.ScriptMgr.EvalScript("tf['dance_scene_name'] = '" + danceData.scene_name + "';");
  984. }
  985. public static void TrialVsDanceInit()
  986. {
  987. }
  988. public static void SelectMaidActive(DanceData set_dance)
  989. {
  990. if (set_dance == null)
  991. {
  992. return;
  993. }
  994. CharacterMgr characterMgr = GameMain.Instance.CharacterMgr;
  995. characterMgr.DeactivateCharaAll();
  996. GameMain.Instance.CMSystem.SetTmpGenericFlag("ダンス設定人数", 0);
  997. if (0 < DanceSelect.m_SelectedMaid.Count)
  998. {
  999. int num = 0;
  1000. for (int i = 0; i < set_dance.select_chara_num; i++)
  1001. {
  1002. if (i >= DanceSelect.m_SelectedMaid.Count)
  1003. {
  1004. break;
  1005. }
  1006. if (DanceSelect.m_SelectedMaid[i])
  1007. {
  1008. characterMgr.SetActiveMaid(DanceSelect.m_SelectedMaid[i], i);
  1009. num++;
  1010. }
  1011. }
  1012. GameMain.Instance.CMSystem.SetTmpGenericFlag("ダンス設定人数", num);
  1013. }
  1014. }
  1015. public static void SetNextDance()
  1016. {
  1017. if (!RhythmAction_Mgr.IsVSDance || DanceMain.KaraokeMode)
  1018. {
  1019. DanceMain.SelectDanceData = null;
  1020. return;
  1021. }
  1022. if (!DanceBattle_Mgr.Instance.IsWin() && RhythmAction_Mgr.NowDance != RhythmAction_Mgr.DanceType.VS_Skip)
  1023. {
  1024. DanceMain.SelectDanceData = null;
  1025. }
  1026. else if (DanceSelect.m_SelectedDance.Count > 0)
  1027. {
  1028. DanceSelect.m_SelectedDance.RemoveAt(0);
  1029. if (DanceSelect.m_SelectedDance.Count > 0)
  1030. {
  1031. DanceMain.SelectDanceData = DanceSelect.m_SelectedDance.First<DanceData>();
  1032. }
  1033. }
  1034. }
  1035. public static List<DanceData> GetDanceDataList()
  1036. {
  1037. DanceSelect.CreateDanceData();
  1038. return DanceSelect.dance_data_list_;
  1039. }
  1040. public static List<Maid> SelectedMaid
  1041. {
  1042. get
  1043. {
  1044. return DanceSelect.m_SelectedMaid;
  1045. }
  1046. }
  1047. public static Maid SelectTopMaid { get; private set; }
  1048. private bool m_AllRelease
  1049. {
  1050. get
  1051. {
  1052. return DanceSetting.Settings.AllRelease;
  1053. }
  1054. set
  1055. {
  1056. DanceSetting.Settings.AllRelease = value;
  1057. }
  1058. }
  1059. public static float kFadeTime = 0.3f;
  1060. public static List<DanceData> dance_data_list_;
  1061. private const int m_SongSelectMax = 2;
  1062. private const string m_NMFtitle = "Night Magic Fire";
  1063. private const string m_ETYLtitle = "entrance to you";
  1064. private const string m_TutorialName = "SceneDanceSelect";
  1065. public DanceSelect.SelectPanelSet CharaSelectPanel;
  1066. public DanceSelect.SelectPanelSet MusicSelectPanel;
  1067. public UIButton OkButton;
  1068. public UIButton CancelButton;
  1069. private UIPanel m_MainButtonPanel;
  1070. private bool m_MainButtonFade;
  1071. [SerializeField]
  1072. [Header("背景名")]
  1073. private string m_BGName = "LiveStage";
  1074. [SerializeField]
  1075. [Header("BGM名")]
  1076. private string m_BGM = "BGM020.ogg";
  1077. [SerializeField]
  1078. private Vector3 m_CamPos = new Vector3(0.03458221f, 0.4823192f, 0.1880018f);
  1079. [SerializeField]
  1080. private float m_CamDistance = 7.199994f;
  1081. [SerializeField]
  1082. private Vector2 m_CamAngle = new Vector2(180.2993f, 21.18012f);
  1083. [SerializeField]
  1084. [Header("右下のOKボタン")]
  1085. private UIButton m_SubOkButton;
  1086. [SerializeField]
  1087. [Header("右下のCancelボタン")]
  1088. private UIButton m_SubCancelButton;
  1089. [SerializeField]
  1090. [Header("Backボタン")]
  1091. private UIButton m_BackButton;
  1092. [SerializeField]
  1093. [Header("ダンスモード設定パネル")]
  1094. private UIPanel m_DanceModePanel;
  1095. [SerializeField]
  1096. [Header("人数不足警告テキスト")]
  1097. private GameObject m_WarningText;
  1098. private Dictionary<UIButton, UILabel> m_DanceModeButtonGroup = new Dictionary<UIButton, UILabel>();
  1099. [SerializeField]
  1100. [Header("チャレンジ時の楽曲情報UIパネル")]
  1101. private GameObject m_DanceShowPanel;
  1102. [SerializeField]
  1103. [Header("ダンス設定UI")]
  1104. private DanceSetting m_SettingObj;
  1105. [SerializeField]
  1106. [Header("曲全解放ボタン")]
  1107. private UIButton m_ReleaseButton;
  1108. [SerializeField]
  1109. private Color m_ReleaseOnCol;
  1110. [SerializeField]
  1111. private Color m_ReleaseOffCol;
  1112. [SerializeField]
  1113. [Header("全曲解放ボタンを表示する際のショートカットキー")]
  1114. private List<KeyCode> m_ReleseShowKey = new List<KeyCode>
  1115. {
  1116. KeyCode.D,
  1117. KeyCode.N,
  1118. KeyCode.C
  1119. };
  1120. private UILabel m_CharaSelectLabel;
  1121. private List<UIWFSelectButton> m_NotSelectDance = new List<UIWFSelectButton>();
  1122. private Dictionary<DanceData, UIWFTabButton> m_SongPlatelUIPair = new Dictionary<DanceData, UIWFTabButton>();
  1123. private static List<DanceData> m_SelectedDance = new List<DanceData>();
  1124. private static List<Maid> m_SelectedMaid = new List<Maid>();
  1125. private DanceData m_SecondDanceData;
  1126. private static DanceData m_ChallengeDanceData = null;
  1127. public static int ChallengeDay = 0;
  1128. private bool m_ForceTheater;
  1129. private bool m_ExistOnlyRelease;
  1130. private int m_OnlyRelease = -1;
  1131. private DanceSelectMusicInfo music_info_;
  1132. private DanceSelect.SelectPanelSet[] select_panelset_array_;
  1133. private CharacterSelectManager chara_select_mgr_;
  1134. private DanceSelect.Status status_;
  1135. private string cancel_call_label_;
  1136. private FFNameDialog ovr_dance_cam_dlg_;
  1137. [Serializable]
  1138. public class SelectPanelSet
  1139. {
  1140. public UIGrid ContentsGrid
  1141. {
  1142. get
  1143. {
  1144. if (!this.m_ContentsGrid)
  1145. {
  1146. this.m_ContentsGrid = this.ContentsPanel.GetComponentInChildren<UIGrid>();
  1147. }
  1148. return this.m_ContentsGrid;
  1149. }
  1150. }
  1151. public UIPanel ParentPanel;
  1152. public UIPanel ContentsPanel;
  1153. private UIGrid m_ContentsGrid;
  1154. }
  1155. private enum Status
  1156. {
  1157. MusicSelect,
  1158. CaharaSelect,
  1159. DanceModeSelect
  1160. }
  1161. }