TaskInfoPanel.cs 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. using System.Collections.Generic;
  2. using Core.Language;
  3. using Excel2Json;
  4. using Fort23.Core;
  5. using Fort23.UTool;
  6. using GameLogic.Bag;
  7. using GameLogic.Player;
  8. namespace Fort23.Mono
  9. {
  10. [UIBinding(prefab = "TaskInfoPanel")]
  11. public partial class TaskInfoPanel : UIPanel
  12. {
  13. List<WidgetItem> widgetItems = new List<WidgetItem>();
  14. private void Init()
  15. {
  16. isAddStack = false;
  17. }
  18. protected override void AddEvent()
  19. {
  20. }
  21. protected override void DelEvent()
  22. {
  23. }
  24. public override void AddButtonEvent()
  25. {
  26. Btn_Close.onClick.AddListener(() => { UIManager.Instance.HideUIUIPanel(this); });
  27. }
  28. public async void CustomInit(int taskId, string title)
  29. {
  30. EventConfig taskConfig = ConfigComponent.Instance.Get<EventConfig>(taskId);
  31. Text_Title.text = title;
  32. Text_Name.text = LanguageManager.Instance.Text(taskConfig.EventName);
  33. Text_desc.text = LanguageManager.Instance.Text(taskConfig.Description);
  34. // if (taskConfig.awardItemId != null)
  35. // {
  36. // List<ItemInfo> itemInfos = new List<ItemInfo>();
  37. // for (var i = 0; i < taskConfig.awardItemId.Length; i++)
  38. // {
  39. // DropConfig dropConfig = ConfigComponent.Instance.Get<DropConfig>(taskConfig.awardItemId[i]);
  40. // if (dropConfig.dropType == 3)
  41. // {
  42. // ItemInfo itemInfo = new ItemInfo(dropConfig.dropGroupID[0], taskConfig.awardItemCount[i]);
  43. // itemInfos.Add(itemInfo);
  44. // }
  45. // else
  46. // {
  47. // List<ItemInfo> items = DropManager.Instance.DropItem(taskConfig.awardItemCount[i]);
  48. // itemInfos.AddRange(items);
  49. // }
  50. // }
  51. //
  52. // foreach (var itemInfo in itemInfos)
  53. // {
  54. // WidgetItem widgetItem = await UIManager.Instance.CreateGComponent<WidgetItem>(null, root: ItemRoot);
  55. // widgetItem.InitWidget(itemInfo);
  56. // widgetItems.Add(widgetItem);
  57. // }
  58. // }
  59. }
  60. public async static CTask<TaskInfoPanel> OpenPanel(int taskId,string title)
  61. {
  62. TaskInfoPanel taskInfoPanel = await UIManager.Instance.LoadAndOpenPanel<TaskInfoPanel>(null,UILayer.Top);
  63. taskInfoPanel.CustomInit(taskId, title);
  64. return taskInfoPanel;
  65. }
  66. public override void Close()
  67. {
  68. foreach (var widgetItem in widgetItems)
  69. {
  70. UIManager.Instance.DormancyGComponent(widgetItem);
  71. }
  72. widgetItems.Clear();
  73. base.Close();
  74. }
  75. }
  76. }