Przeglądaj źródła

添加打开华容道活动界面时,每日重置后刷新界面;
添加华容道活动结束时,还在游戏界面的玩家自动退回主界面

leiyasi 1 rok temu
rodzic
commit
4ef6ff1b09

+ 2 - 0
GameClient/Assets/Game/HotUpdate/Views/ActivityHuaRongDao/ActivityHuaRongDaoEntryView.cs

@@ -81,12 +81,14 @@ namespace GFGGame
         {
             base.AddEventListener();
             EventAgent.AddEventListener(ConstMessage.ACTIVITY_HUARONGDAO_UPDATE, UpdateUI);
+            EventAgent.AddEventListener(ConstMessage.RESET_DAILY_DATA, UpdateUI);
         }
 
         protected override void RemoveEventListener()
         {
             base.RemoveEventListener();
             EventAgent.RemoveEventListener(ConstMessage.ACTIVITY_HUARONGDAO_UPDATE, UpdateUI);
+            EventAgent.RemoveEventListener(ConstMessage.RESET_DAILY_DATA, UpdateUI);
         }
 
         /// <summary>

+ 14 - 0
GameClient/Assets/Game/HotUpdate/Views/ActivityHuaRongDao/ActivityHuaRongDaoView.cs

@@ -93,12 +93,16 @@ namespace GFGGame
             RefreshData();
             _cancellationTokenSource = new CancellationTokenSource();
             Task task = StartAnimation(_cancellationTokenSource.Token);
+
+            Timers.inst.Remove(CheckActivityEnd);
+            Timers.inst.Add(1, 0, CheckActivityEnd);
         }
 
         protected override void OnHide()
         {
             base.OnHide();
             StopMyAsyncFunction();
+            Timers.inst.Remove(CheckActivityEnd);
         }
 
         /// <summary>
@@ -566,5 +570,15 @@ namespace GFGGame
                 });
             }
         }
+
+        private void CheckActivityEnd(object param)
+        {
+            if (!ActivityFYJYDataManager.Instance.CheckOpen())
+            {
+                // 活动结束时强行退回主界面
+                ViewManager.Show<MainUIView>(null, true);
+                ViewManager.DeleteViewStackCountDown("MainUIView");
+            }
+        }
     }
 }

+ 2 - 1
GameClient/Assets/Game/HotUpdate/Views/MainUI/MainUIView.cs

@@ -1017,6 +1017,7 @@ namespace GFGGame
                 if (redPointUpdateFrame == 17)
                     RedDotController.Instance.SetComRedDot(_ui.m_btnActivityAfuGift.target, ActivityAfuGiftDataManager.Instance.HaveCanGetReward(), "", -39, -6);
             }
+
             //海之市
             if (redPointUpdateFrame == 18)
             {
@@ -1084,7 +1085,7 @@ namespace GFGGame
                 case ActivityType.AfternoonLeisure:
                     if (_ui.m_btnActivityFYJY.target.visible)
                     {
-                        RedDotController.Instance.SetComRedDot(_ui.m_btnActivityFYJY.target, RedDotDataManager.Instance.GetActivityFYJYRed(), "", -15, -1);
+                        RedDotController.Instance.SetComRedDot(_ui.m_btnActivityFYJY.target, RedDotDataManager.Instance.GetActivityFYJYRed(), "", -15, -1, false);
                     }
                     break;
             }