OpenBoxScorePanel.cs 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. using System.Collections.Generic;
  2. using Excel2Json;
  3. using Fort23.Core;
  4. using Fort23.UTool;
  5. using GameLogic.Player;
  6. namespace Fort23.Mono
  7. {
  8. [UIBinding(prefab = "OpenBoxScorePanel")]
  9. public partial class OpenBoxScorePanel : UIPanel
  10. {
  11. List<SummonScoreRuleWidget> summonScoreRuleWidgets = new List<SummonScoreRuleWidget>();
  12. List<SummonScoreAwardWidget> summonScoreAwardWidgets = new List<SummonScoreAwardWidget>();
  13. AccountFileInfo.SummonData summonData;
  14. private void Init()
  15. {
  16. isAddStack = true;
  17. IsShowAppBar = true;
  18. }
  19. protected override void AddEvent()
  20. {
  21. }
  22. protected override void DelEvent()
  23. {
  24. }
  25. public override void AddButtonEvent()
  26. {
  27. Btn_Ok.onClick.AddListener(() =>
  28. {
  29. summonData.isSummonSocre = true;
  30. AccountFileInfo.Instance.SavePlayerData();
  31. });
  32. }
  33. public async override CTask<bool> AsyncInit(object[] uiData)
  34. {
  35. summonData = PlayerManager.Instance.SummonManager.summonDataMap[2];
  36. List<OpenBoxScoreRule> openBoxScoreRules = PlayerManager.Instance.SummonManager.openBoxScoreRuleMap[2];
  37. Btn_Ok.gameObject.SetActive(!summonData.isSummonSocre);
  38. StartRoot.gameObject.SetActive(summonData.isSummonSocre);
  39. if (summonData.isSummonSocre)
  40. {
  41. Text_JingDu.text = $"当前进度:{summonData.drawHistory.Count}/{300}";
  42. Text_Score.text = $"目前得分:{summonData.score}";
  43. }
  44. foreach (var openBoxScoreRule in openBoxScoreRules)
  45. {
  46. SummonScoreRuleWidget summonScoreRuleWidget = await UIManager.Instance.CreateGComponent<SummonScoreRuleWidget>(null, Content1);
  47. summonScoreRuleWidget.CustomInit(openBoxScoreRule);
  48. summonScoreRuleWidgets.Add(summonScoreRuleWidget);
  49. }
  50. OpenBoxProgressReward[] openBoxProgressRewards = ConfigComponent.Instance.GetAll<OpenBoxProgressReward>();
  51. foreach (var openBoxProgressReward in openBoxProgressRewards)
  52. {
  53. SummonScoreAwardWidget summonScoreAwardWidget = await UIManager.Instance.CreateGComponent<SummonScoreAwardWidget>(null, Content2);
  54. summonScoreAwardWidget.CustomInit(openBoxProgressReward);
  55. summonScoreAwardWidgets.Add(summonScoreAwardWidget);
  56. }
  57. return await base.AsyncInit(uiData);
  58. }
  59. public async static CTask OpenPanel()
  60. {
  61. await UIManager.Instance.LoadAndOpenPanel<OpenBoxScorePanel>(null, isShowBG: true);
  62. }
  63. public override void Close()
  64. {
  65. foreach (var summonScoreRuleWidget in summonScoreRuleWidgets)
  66. {
  67. UIManager.Instance.DormancyGComponent(summonScoreRuleWidget);
  68. }
  69. summonScoreRuleWidgets.Clear();
  70. foreach (var summonScoreRuleWidget in summonScoreAwardWidgets)
  71. {
  72. UIManager.Instance.DormancyGComponent(summonScoreRuleWidget);
  73. }
  74. summonScoreAwardWidgets.Clear();
  75. base.Close();
  76. }
  77. }
  78. }