BoxPanel.cs 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. using System.Collections.Generic;
  2. using Excel2Json;
  3. using Fort23.UTool;
  4. using GameLogic.Bag;
  5. using GameLogic.Player;
  6. namespace Fort23.Mono
  7. {
  8. [UIBinding(prefab = "BoxPanel")]
  9. public partial class BoxPanel : UIPanel
  10. {
  11. private OpenBoxConfig openBoxConfig;
  12. public static async void OpenBoxPanel()
  13. {
  14. BoxPanel boxPanel = await UIManager.Instance.LoadAndOpenPanel<BoxPanel>(null, layer: UILayer.Top);
  15. boxPanel.OpenPanel();
  16. }
  17. private void Init()
  18. {
  19. }
  20. protected override void AddEvent()
  21. {
  22. }
  23. protected override void DelEvent()
  24. {
  25. }
  26. public override void AddButtonEvent()
  27. {
  28. oneButton.onClick.AddListener(OnButtonCallBack);
  29. tenButton.onClick.AddListener(TenButtonCallBack);
  30. close.onClick.AddListener(CloseButtonCallBack);
  31. bg.onClick.AddListener(CloseButtonCallBack);
  32. }
  33. private void OnButtonCallBack()
  34. {
  35. List<ItemInfo> allIitem = DropManager.Instance.DropItem(openBoxConfig.reward);
  36. BagController.Instance.AddItem(allIitem);
  37. UIManager.Instance.LoadAndOpenPanel<RewardsPanel>(delegate(RewardsPanel panel)
  38. {
  39. panel.InitRewardsPanel(allIitem, CloseButtonCallBack);
  40. }, layer: UILayer.Top);
  41. }
  42. private void TenButtonCallBack()
  43. {
  44. List<ItemInfo> allIitem = new List<ItemInfo>();
  45. for (int i = 0; i < 10; i++)
  46. {
  47. List<ItemInfo> currItem = DropManager.Instance.DropItem(openBoxConfig.reward);
  48. allIitem.AddRange(currItem);
  49. }
  50. BagController.Instance.AddItem(allIitem);
  51. UIManager.Instance.LoadAndOpenPanel<RewardsPanel>(delegate(RewardsPanel panel)
  52. {
  53. panel.InitRewardsPanel(allIitem, CloseButtonCallBack);
  54. }, layer: UILayer.Top);
  55. }
  56. private void CloseButtonCallBack()
  57. {
  58. UIManager.Instance.HideUIUIPanel(this);
  59. }
  60. public void OpenPanel()
  61. {
  62. openBoxConfig = ConfigComponent.Instance.Get<OpenBoxConfig>(1);
  63. onCion.text = "x" + openBoxConfig.oneConsume;
  64. tenCion.text = "x" + openBoxConfig.tenConsume;
  65. }
  66. }
  67. }