lzx 1 hafta önce
ebeveyn
işleme
35c96bc8a7

+ 17 - 4
Assets/Scripts/GameUI/UI/DivineSence/DivineSenceInfoPanel.cs

@@ -33,6 +33,7 @@ namespace Fort23.Mono
         public override CTask GetFocus()
         {
             AppBarPanel.OpenPanel(this);
+            CustomInit(callback);
             return base.GetFocus();
         }
 
@@ -51,7 +52,7 @@ namespace Fort23.Mono
 
         public override void AddButtonEvent()
         {
-            Btn_Ok.onClick.AddListener(() =>
+            Btn_Ok.onClick.AddListener(async () =>
             {
                 if (EventSystemManager.Instance.GetShenShiCount() >=
                     divineSenseConfig.MaxNum)
@@ -60,10 +61,20 @@ namespace Fort23.Mono
                     return;
                 }
 
+                if (useCount == 0)
+                {
+                    // DivineSenceRestoredPanel divineSenceRestoredPanel =  await DivineSenceRestoredPanel.OpenPanel();
+                    // await divineSenceRestoredPanel.UIClosed();
+                    // CustomInit(callback);
+                    return;
+                }
+
                 if (AccountFileInfo.Instance.playerData.divineSensePoint <
                     PlayerManager.Instance.gameConstantConfig.DetectEventCount)
                 {
-                    DivineSenceRestoredPanel.OpenPanel();
+                    DivineSenceRestoredPanel divineSenceRestoredPanel = await DivineSenceRestoredPanel.OpenPanel();
+                    await divineSenceRestoredPanel.UIClosed();
+                    CustomInit(callback);
                     return;
                 }
 
@@ -183,12 +194,14 @@ namespace Fort23.Mono
             this.callback = callback;
         }
 
-        private void OnClick(ItemWidgetBasic obj)
+        private async void OnClick(ItemWidgetBasic obj)
         {
             DivineSenceInfoBtnWidget divineSenceInfoBtnWidget = obj as DivineSenceInfoBtnWidget;
             if (divineSenceInfoBtnWidget.type == 1)
             {
-                DivineSenceRestoredPanel.OpenPanel();
+                DivineSenceRestoredPanel divineSenceRestoredPanel = await DivineSenceRestoredPanel.OpenPanel();
+                await divineSenceRestoredPanel.UIClosed();
+                CustomInit(callback);
                 return;
             }
 

+ 3 - 2
Assets/Scripts/GameUI/UI/DivineSence/DivineSenceRestoredPanel.cs

@@ -109,9 +109,10 @@ namespace Fort23.Mono
         }
 
 
-        public async static CTask OpenPanel()
+        public async static CTask<DivineSenceRestoredPanel> OpenPanel()
         {
-            await UIManager.Instance.LoadAndOpenPanel<DivineSenceRestoredPanel>(null, UILayer.Top, isShowBG: true);
+            DivineSenceRestoredPanel divineSenceRestoredPanel = await UIManager.Instance.LoadAndOpenPanel<DivineSenceRestoredPanel>(null, UILayer.Top, isShowBG: true);
+            return divineSenceRestoredPanel;
         }
 
         public override CTask Close()