BoxPanel.cs 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. using System.Collections.Generic;
  2. using Core.Utility;
  3. using Excel2Json;
  4. using Fort23.UTool;
  5. using GameLogic.Bag;
  6. using GameLogic.Player;
  7. namespace Fort23.Mono
  8. {
  9. [UIBinding(prefab = "BoxPanel")]
  10. public partial class BoxPanel : UIPanel
  11. {
  12. private OpenBoxConfig openBoxConfig;
  13. public static async void OpenBoxPanel()
  14. {
  15. BoxPanel boxPanel = await UIManager.Instance.LoadAndOpenPanel<BoxPanel>(null, layer: UILayer.Top);
  16. boxPanel.OpenPanel();
  17. }
  18. private void Init()
  19. {
  20. }
  21. protected override void AddEvent()
  22. {
  23. }
  24. protected override void DelEvent()
  25. {
  26. }
  27. public override void AddButtonEvent()
  28. {
  29. oneButton.onClick.AddListener(OnButtonCallBack);
  30. tenButton.onClick.AddListener(TenButtonCallBack);
  31. close.onClick.AddListener(CloseButtonCallBack);
  32. bg.onClick.AddListener(CloseButtonCallBack);
  33. }
  34. private void OnButtonCallBack()
  35. {
  36. ItemInfo itemInfo= BagController.Instance.GetItemInfo(GlobalParam.Item_Coin_ID);
  37. if (itemInfo.count < 500)
  38. {
  39. return;
  40. }
  41. List<ItemInfo> allIitem = DropManager.Instance.DropItem(openBoxConfig.reward);
  42. BagController.Instance.AddItem(allIitem);
  43. if (allIitem.Count > 0)
  44. {
  45. Dictionary<string, string> lable = new Dictionary<string, string>();
  46. lable.Add("one", allIitem[0].itemID.ToString());
  47. PottingMobile._CustomEvent("oneBox", lable);
  48. }
  49. BagController.Instance.DeductCoin(500);
  50. UIManager.Instance.LoadAndOpenPanel<RewardsPanel>(
  51. delegate(RewardsPanel panel) { panel.InitRewardsPanel(allIitem, CloseButtonCallBack); },
  52. layer: UILayer.Top);
  53. }
  54. private void TenButtonCallBack()
  55. {
  56. ItemInfo itemInfo= BagController.Instance.GetItemInfo(GlobalParam.Item_Coin_ID);
  57. if (itemInfo.count < 4500)
  58. {
  59. return;
  60. }
  61. List<ItemInfo> allIitem = new List<ItemInfo>();
  62. string message = "";
  63. for (int i = 0; i < 10; i++)
  64. {
  65. List<ItemInfo> currItem = DropManager.Instance.DropItem(openBoxConfig.reward);
  66. for (int j = 0; j < currItem.Count; j++)
  67. {
  68. message += "_" + currItem[j].itemID.ToString();
  69. }
  70. allIitem.AddRange(currItem);
  71. }
  72. if (allIitem.Count > 0)
  73. {
  74. Dictionary<string, string> lable = new Dictionary<string, string>();
  75. lable.Add("tenBox", message);
  76. PottingMobile._CustomEvent("oneBox", lable);
  77. }
  78. BagController.Instance.AddItem(allIitem);
  79. BagController.Instance.DeductCoin(4500);
  80. UIManager.Instance.LoadAndOpenPanel<RewardsPanel>(
  81. delegate(RewardsPanel panel) { panel.InitRewardsPanel(allIitem, CloseButtonCallBack); },
  82. layer: UILayer.Top);
  83. }
  84. private void CloseButtonCallBack()
  85. {
  86. UIManager.Instance.HideUIUIPanel(this);
  87. }
  88. public void OpenPanel()
  89. {
  90. openBoxConfig = ConfigComponent.Instance.Get<OpenBoxConfig>(1);
  91. onCion.text = "x" + openBoxConfig.oneConsume;
  92. tenCion.text = "x" + openBoxConfig.tenConsume;
  93. }
  94. }
  95. }