ItemSourcePanel.cs 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. using System.Collections.Generic;
  2. using Core.Language;
  3. using Excel2Json;
  4. using Fort23.Core;
  5. using Fort23.UTool;
  6. using Mono.Utility;
  7. namespace Fort23.Mono
  8. {
  9. [UIBinding(prefab = "ItemSourcePanel" )]
  10. public partial class ItemSourcePanel : UIPanel
  11. {
  12. List<SkipToWidget> skipToWidgets = new List<SkipToWidget>();
  13. private CTask<bool> callBack;
  14. private bool isSkipto = false;
  15. private void Init()
  16. {
  17. isPopUi = true;
  18. isAddStack = false;
  19. }
  20. protected override void AddEvent()
  21. {
  22. }
  23. protected override void DelEvent()
  24. {
  25. }
  26. public override void AddButtonEvent()
  27. {
  28. }
  29. public async override CTask<bool> AsyncInit(object[] uiData)
  30. {
  31. int itemId = (int)uiData[0];
  32. callBack = uiData[1] as CTask<bool>;
  33. ItemConfig itemConfig = ConfigComponent.Instance.Get<ItemConfig>(itemId);
  34. Text_ItemName.text = LanguageManager.Instance.Text(itemConfig.itemName);
  35. // foreach (var skiptoId in eventConditionConfig.SkiptoIds)
  36. // {
  37. // SkipToWidget skipToWidget = await UIManager.Instance.CreateGComponent<SkipToWidget>(null, Content);
  38. // skipToWidget.CustonInit(skiptoId);
  39. // skipToWidgets.Add(skipToWidget);
  40. // skipToWidget.OnClick = OnClick;
  41. // }
  42. return await base.AsyncInit(uiData);
  43. }
  44. private void OnClick(ItemWidgetBasic obj)
  45. {
  46. SkipToWidget skipToWidget = obj as SkipToWidget;
  47. isSkipto = true;
  48. UIManager.Instance.HideUIUIPanel(this);
  49. SkiptoHelper.Skipto(skipToWidget.SkiptoConfig.ID);
  50. }
  51. public static async CTask<bool> OpenPanel(int itemId)
  52. {
  53. CTask<bool> callBack = CTask<bool>.Create();
  54. await UIManager.Instance.LoadAndOpenPanel<ItemSourcePanel>(null, UILayer.Top, uiData: new object[] { itemId, callBack },isShowBG:true);
  55. return await callBack;
  56. }
  57. public override void Close()
  58. {
  59. foreach (var skipToWidget in skipToWidgets)
  60. {
  61. UIManager.Instance.DormancyGComponent(skipToWidget);
  62. }
  63. skipToWidgets.Clear();
  64. callBack?.SetResult(isSkipto);
  65. isSkipto = false;
  66. base.Close();
  67. }
  68. }
  69. }