Browse Source

修复活动界面返回主界面时,活动图标不显示的问题
添加活动结束时,处在活动界面的玩家,会强制返回主界面

leiyasi 1 year ago
parent
commit
767aa3a773

+ 0 - 3
GameClient/Assets/Game/HotUpdate/Views/ActivityGetYuanXiao/ActivityGetYuanXiaoDataManager.cs

@@ -30,8 +30,6 @@ namespace GFGGame
 
         public int GetCurLevel()
         {
-            //return gameinfoList.Count;
-
             int i;
             for (i = 0; i < gameinfoList.Count; i++)
             {
@@ -44,7 +42,6 @@ namespace GFGGame
             return i;
         }
 
-
         public List<GameInfoProto> gameinfoList = new List<GameInfoProto>();
     }
 }

+ 17 - 4
GameClient/Assets/Game/HotUpdate/Views/ActivityGetYuanXiao/ActivityGetYuanXiaoEntryView.cs

@@ -53,7 +53,7 @@ namespace GFGGame
             _ui.m_btnStart.onClick.Add(OnBtnStartClick);
             _ui.m_btnTask.onClick.Add(OnBtnTaskClick);
             _ui.m_btnShop.onClick.Add(OnBtnShopClick);
-            _ui.m_btnBack.onClick.Add(Hide);
+            _ui.m_btnBack.onClick.Add(OnBtnBackClick);
 
             AddEffect();
         }
@@ -66,9 +66,15 @@ namespace GFGGame
 
             _ui.m_list.visible = false;
             var result = await ActivityGetYuanXiaoProxy.ReqGetActivityGameInfos();
-            if (!isShowing || !result)
+
+            if (!isShowing)
+            {
+                return;
+            }
+
+            if (!result)
             {
-                Hide();
+                OnBtnBackClick();
                 return;
             }
 
@@ -224,7 +230,7 @@ namespace GFGGame
             int activityID = ActivityDataManager.Instance.GetCurOpenActiveByType(ActivityType.YuanXiao);
             if (activityID == 0)
             {
-                Hide();
+                OnBtnBackClick();
                 return;
             }
 
@@ -235,5 +241,12 @@ namespace GFGGame
                 _ui.m_txtTime.text = TimeUtil.FormattingTimeTo_DDHHmm(endTime - curTime);
             }
         }
+
+        private void OnBtnBackClick()
+        {
+            ViewManager.Show<MainUIView>(null, true);
+            ViewManager.DeleteViewStackCountDown("MainUIView");
+        }
+             
     }
 }

+ 4 - 1
GameClient/Assets/Game/HotUpdate/Views/ActivityGetYuanXiao/ActivityGetYuanXiaoView.cs

@@ -506,7 +506,10 @@ namespace GFGGame
             if (!ActivityGetYuanXiaoDataManager.Instance.CheckOpen())
             {
                 _ui.m_catcher.target.visible = false;
-                Hide();
+
+                // 活动结束时强行退回主界面
+                ViewManager.Show<MainUIView>(null, true);
+                ViewManager.DeleteViewStackCountDown("MainUIView");
             }
         }
     }

+ 17 - 9
GameClient/Assets/Game/HotUpdate/Views/MainUI/MainUIView.cs

@@ -263,21 +263,29 @@ namespace GFGGame
 
         private async void UpdateButtons()
         {
+            // 刚进游戏请求数据
             if (!MainDataManager.Instance.needUpdateProxyData)
             {
-                return;
-            }
-            MainDataManager.Instance.needUpdateProxyData = false;
-            var result = await NewYearRedEnvelopeSProxy.ReqGetRedPacketInfo();
-            if (result) {
-                RefreshBtnNewYearRedEnvelope();
-            }
+                MainDataManager.Instance.needUpdateProxyData = false;
+                var result = await NewYearRedEnvelopeSProxy.ReqGetRedPacketInfo();
+                if (result)
+                {
+                    RefreshBtnNewYearRedEnvelope();
+                }
 
-            result = await ActivityGetYuanXiaoProxy.ReqGetActivityGameInfos();
-            if (result)
+                result = await ActivityGetYuanXiaoProxy.ReqGetActivityGameInfos();
+                if (result)
+                {
+                    RefreshBtnYuanXiaoActivity();
+                }
+            }
+            // 后续活动按钮的刷新检测
+            else
             {
+                RefreshBtnNewYearRedEnvelope();
                 RefreshBtnYuanXiaoActivity();
             }
+
         }
 
         private void RefreshBtnNewYearRedEnvelope()