| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175 | 
							- using System;
 
- using System.Collections.Generic;
 
- using Fort23.Core;
 
- using GameLogic.Bag;
 
- namespace Fort23.Mono
 
- {
 
-     [UIBinding(prefab = "DivineSenceItemPanel")]
 
-     public partial class DivineSenceItemPanel : UIPanel
 
-     {
 
-         List<DivineSenceItemWidget> _divineSenceItemWidgets = new List<DivineSenceItemWidget>();
 
-         private Action<int> callBack;
 
-         private Action cancelCallBack;
 
-         private List<int> selectType;
 
-         private List<ItemInfo> itemInfos1 = new List<ItemInfo>();
 
-         private List<ItemInfo> itemInfos2 = new List<ItemInfo>();
 
-         private ItemInfo selectItemInit;
 
-         private int type = 1;
 
-         private void Init()
 
-         {
 
-         }
 
-         protected override void AddEvent()
 
-         {
 
-         }
 
-         protected override void DelEvent()
 
-         {
 
-         }
 
-         public override void AddButtonEvent()
 
-         {
 
-             Btn_Close.onClick.AddListener(() => { UIManager.Instance.HideUIUIPanel(this); });
 
-             Btn_GaiLv.onClick.AddListener(() =>
 
-             {
 
-                 if (selectType.Contains(6))
 
-                 {
 
-                     TipMessagePanel.OpenTipMessagePanel("此类型不能重复选择!");
 
-                     return;
 
-                 }
 
-                 if (type == 1)
 
-                 {
 
-                     return;
 
-                 }
 
-                 type = 1;
 
-                 CreatWidget(1);
 
-             });
 
-             Btn_ZuiZhong.onClick.AddListener(() =>
 
-             {
 
-                 if (selectType.Contains(7))
 
-                 {
 
-                     TipMessagePanel.OpenTipMessagePanel("此类型不能重复选择!");
 
-                     return;
 
-                 }
 
-                 if (type == 2)
 
-                 {
 
-                     return;
 
-                 }
 
-                 type = 2;
 
-                 CreatWidget(type);
 
-             });
 
-         }
 
-         public async override CTask<bool> AsyncInit(object[] uiData)
 
-         {
 
-             selectItemInit = uiData[0] as ItemInfo;
 
-             selectType = uiData[1] as List<int>;
 
-             callBack = uiData[2] as Action<int>;
 
-             cancelCallBack = uiData[3] as Action;
 
-             foreach (var keyValuePair in PlayerManager.Instance.BagController.allBagDic)
 
-             {
 
-                 if (keyValuePair.Value.config.associateID == 6)
 
-                 {
 
-                     itemInfos1.Add(keyValuePair.Value);
 
-                 }
 
-                 if (keyValuePair.Value.config.associateID == 7)
 
-                 {
 
-                     itemInfos2.Add(keyValuePair.Value);
 
-                 }
 
-             }
 
-             if (selectType.Count == 0)
 
-             {
 
-                 type = 1;
 
-             }
 
-             else if (selectType.Contains(7))
 
-             {
 
-                 type = 1;
 
-             }
 
-             else
 
-             {
 
-                 type = 2;
 
-             }
 
-             CreatWidget(type);
 
-             return await base.AsyncInit(uiData);
 
-         }
 
-         public async CTask CreatWidget(int type)
 
-         {
 
-             foreach (var divineSenceItemWidget in _divineSenceItemWidgets)
 
-             {
 
-                 UIManager.Instance.DormancyGComponent(divineSenceItemWidget);
 
-             }
 
-             _divineSenceItemWidgets.Clear();
 
-             if (type == 1)
 
-             {
 
-                 toogleList.ShowTargetIndex(0);
 
-                 foreach (var itemInfo in itemInfos1)
 
-                 {
 
-                     DivineSenceItemWidget divineSenceItemWidget = await UIManager.Instance.CreateGComponent<DivineSenceItemWidget>(null, Content);
 
-                     divineSenceItemWidget.CustomInit(itemInfo, CancelClick, selectItemInit);
 
-                     divineSenceItemWidget.OnClick = OnClick;
 
-                     _divineSenceItemWidgets.Add(divineSenceItemWidget);
 
-                 }
 
-             }
 
-             else
 
-             {
 
-                 toogleList.ShowTargetIndex(1);
 
-                 foreach (var itemInfo in itemInfos2)
 
-                 {
 
-                     DivineSenceItemWidget divineSenceItemWidget = await UIManager.Instance.CreateGComponent<DivineSenceItemWidget>(null, Content);
 
-                     divineSenceItemWidget.CustomInit(itemInfo, CancelClick, selectItemInit);
 
-                     divineSenceItemWidget.OnClick = OnClick;
 
-                     _divineSenceItemWidgets.Add(divineSenceItemWidget);
 
-                 }
 
-             }
 
-         }
 
-         private void OnClick(ItemWidgetBasic obj)
 
-         {
 
-             DivineSenceItemWidget divineSenceItemWidget = obj as DivineSenceItemWidget;
 
-             callBack?.Invoke(divineSenceItemWidget.ItemInfo.itemID);
 
-             UIManager.Instance.HideUIUIPanel(this);
 
-         }
 
-         private void CancelClick()
 
-         {
 
-             cancelCallBack?.Invoke();
 
-             UIManager.Instance.HideUIUIPanel(this);
 
-         }
 
-         public static async CTask OpenPanel(ItemInfo selectItemInit, List<int> selectType, Action<int> itemId, Action cancelCallBack)
 
-         {
 
-             await UIManager.Instance.LoadAndOpenPanel<DivineSenceItemPanel>(null, UILayer.Top, uiData: new object[] { selectItemInit, selectType,itemId, cancelCallBack },isShowBG:true);
 
-         }
 
-         public override void Close()
 
-         {
 
-             foreach (var divineSenceItemWidget in _divineSenceItemWidgets)
 
-             {
 
-                 UIManager.Instance.DormancyGComponent(divineSenceItemWidget);
 
-             }
 
-             _divineSenceItemWidgets.Clear();
 
-             itemInfos1.Clear();
 
-             itemInfos2.Clear();
 
-             selectItemInit = null;
 
-             base.Close();
 
-         }
 
-     }
 
- }
 
 
  |