SummonScoreAwardWidget.cs 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. using System;
  2. using System.Collections.Generic;
  3. using Core.Language;
  4. using Excel2Json;
  5. using GameLogic.Bag;
  6. using UnityEngine.UI;
  7. namespace Fort23.Mono
  8. {
  9. [UIBinding(prefab = "SummonScoreAwardWidget")]
  10. public partial class SummonScoreAwardWidget : UIComponent
  11. {
  12. List<WidgetItem> _widgetItems = new List<WidgetItem>();
  13. public OpenBoxProgressReward _openBoxProgressReward = new OpenBoxProgressReward();
  14. private Action lingquCallBack;
  15. private void Init()
  16. {
  17. }
  18. public override void AddEvent()
  19. {
  20. }
  21. public override void DelEvent()
  22. {
  23. }
  24. public override void AddButtonEvent()
  25. {
  26. Btn_LingQu.onClick.AddListener(() =>
  27. {
  28. lingquCallBack?.Invoke();
  29. Btn_LingQu.gameObject.SetActive(false);
  30. });
  31. }
  32. public async void CustomInit(OpenBoxProgressReward openBoxProgressReward, Action lingquCallBack)
  33. {
  34. this.lingquCallBack = lingquCallBack;
  35. _openBoxProgressReward = openBoxProgressReward;
  36. Text_Name.text = $"{LanguageManager.Instance.Text(10191)} {openBoxProgressReward.TotalScore}";
  37. for (var i = 0; i < openBoxProgressReward.PrizeID.Length; i++)
  38. {
  39. WidgetItem widgetItem =
  40. await UIManager.Instance.CreateGComponentForObject<WidgetItem>(WidgetItemGam, null, ItemRoot);
  41. widgetItem.InitWidget(new ItemInfo(openBoxProgressReward.PrizeID[i],
  42. openBoxProgressReward.PrizeCount[i]));
  43. _widgetItems.Add(widgetItem);
  44. }
  45. LayoutRebuilder.ForceRebuildLayoutImmediate(ItemRoot);
  46. }
  47. public override void DormancyObj()
  48. {
  49. foreach (var widgetItem in _widgetItems)
  50. {
  51. UIManager.Instance.DormancyGComponent(widgetItem);
  52. }
  53. _widgetItems.Clear();
  54. Icon_Select.gameObject.SetActive(false);
  55. Btn_LingQu.gameObject.SetActive(false);
  56. base.DormancyObj();
  57. }
  58. }
  59. }