From 57d67a1f74f16bb4e536d4651b09fdd7d7758c97 Mon Sep 17 00:00:00 2001
From: lcy <1459594991@qq.com>
Date: 星期五, 08 五月 2026 19:02:58 +0800
Subject: [PATCH] 597 时装特卖 优化活动系统

---
 Main/System/OpenServerActivity/OpenServerActivityCenter.cs |  322 +++++++++++++++++++++--------------------------------
 1 files changed, 129 insertions(+), 193 deletions(-)

diff --git a/Main/System/OpenServerActivity/OpenServerActivityCenter.cs b/Main/System/OpenServerActivity/OpenServerActivityCenter.cs
index 079d10c..7dc7d84 100644
--- a/Main/System/OpenServerActivity/OpenServerActivityCenter.cs
+++ b/Main/System/OpenServerActivity/OpenServerActivityCenter.cs
@@ -1,193 +1,129 @@
-锘縰sing System;
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-//淇敼鎴愭帶鍒跺涓椿鍔ㄦā鍧楋紝濡傜簿褰╂椿鍔ㄦā鏉�1锛岀簿褰╂椿鍔ㄦā鏉�2
-
-public class OpenServerActivityCenter : Singleton<OpenServerActivityCenter>
-{
-    public event Action openServerActivityStateChange;
-
-    //{娲诲姩妯℃澘锛歿娲诲姩ID锛氭椿鍔ㄦ帴鍙}
-    Dictionary<int, Dictionary<int, IOpenServerActivity>> GameServerActivitys = new Dictionary<int, Dictionary<int, IOpenServerActivity>>();
-
-    public int selectFuncOrder = -1;
-
-    public enum ActivityType
-    {
-        AT_JCHD = 0,    //绮惧僵娲诲姩
-        AT_DateActivity,   //鏃ユ湡鍨嬫椿鍔�- 鎸夋棩鏈熷紑鏀剧殑鎺掕姒滅郴鍒楁椿鍔ㄧ浉鍏� id浠�200寮�濮嬶紙涓庡叾浠栨椿鍔ㄥ尯鍒嗭紝铏界劧id閲嶅骞舵病鏈夊叧绯伙級锛� 绫诲悓鑺傛棩娲诲姩
-    }
-
-    public OpenServerActivityCenter()
-    {
-        TimeUtility.OnServerOpenDayRefresh -= OnServerOpenDayRefresh;
-        TimeUtility.OnServerOpenDayRefresh += OnServerOpenDayRefresh;
-    }
-
-    public void Register(int funcOrder, IOpenServerActivity activity, int activityType = (int)ActivityType.AT_JCHD)
-    {
-        if (!GameServerActivitys.ContainsKey(activityType))
-        {
-            GameServerActivitys.Add(activityType, new Dictionary<int, IOpenServerActivity>());
-        }
-
-        var openServerActivitys = GameServerActivitys[activityType];
-        if (!openServerActivitys.ContainsKey(funcOrder))
-        {
-            openServerActivitys.Add(funcOrder, activity);
-            activity.onStateUpdate -= OnStateUpdate;
-            activity.onStateUpdate += OnStateUpdate;
-        }
-    }
-
-    private void OnStateUpdate(int _order)
-    {
-        if (openServerActivityStateChange != null)
-        {
-            openServerActivityStateChange();
-        }
-    }
-
-    private void OnServerOpenDayRefresh()
-    {
-        if (openServerActivityStateChange != null)
-        {
-            openServerActivityStateChange();
-        }
-    }
-
-    public bool IsAnyActivityOpen(out int _functionOrder, int activityType = (int)ActivityType.AT_JCHD)
-    {
-        if (!GameServerActivitys.ContainsKey(activityType))
-        {
-            GameServerActivitys.Add(activityType, new Dictionary<int, IOpenServerActivity>());
-        }
-
-        var openServerActivitys = GameServerActivitys[activityType];
-        _functionOrder = 0;
-        foreach (var _order in openServerActivitys.Keys)
-        {
-            if (openServerActivitys[_order].IsOpen || openServerActivitys[_order].IsAdvance)
-            {
-                _functionOrder = _order;
-                return true;
-            }
-        }
-        return false;
-    }
-
-    public bool IsActivityOpen(int _funcOrder, int activityType = (int)ActivityType.AT_JCHD)
-    {
-        if (!GameServerActivitys.ContainsKey(activityType))
-        {
-            GameServerActivitys.Add(activityType, new Dictionary<int, IOpenServerActivity>());
-        }
-        
-        bool isOpen = false;
-        var openServerActivitys = GameServerActivitys[activityType];
-        if (openServerActivitys.ContainsKey(_funcOrder))
-        {
-            isOpen = openServerActivitys[_funcOrder].IsOpen || openServerActivitys[_funcOrder].IsAdvance;
-        }
-
-        return isOpen;
-    }
-
-    public bool IsPriorityOpenOpen(int _funcOrder, int activityType = (int)ActivityType.AT_JCHD)
-    {
-        if (!GameServerActivitys.ContainsKey(activityType))
-        {
-            GameServerActivitys.Add(activityType, new Dictionary<int, IOpenServerActivity>());
-        }
-
-        var openServerActivitys = GameServerActivitys[activityType];
-        if (openServerActivitys.ContainsKey(_funcOrder))
-        {
-            return openServerActivitys[_funcOrder].priorityOpen;
-        }
-        return false;
-    }
-
-
-
-
-    public void ProcessErrorTip()
-    {
-        SysNotifyMgr.Instance.ShowTip("ActiveOutTime");
-    }
-
-    //AT_Activity2 鏃ユ湡鍨嬫椿鍔�-榛樿璁捐閮芥槸鍚屼竴涓叆鍙o紝鏍规嵁娲诲姩鏇挎崲鍥炬爣鍜屽悕绉帮紝鎵撳紑涓嶅悓鐣岄潰
-    public NewDayActivityInfo GetNewDayActionEnterInfo()
-    {
-        // if (IsActivityOpen((int)NewDayActivityID.BossTrial, (int)ActivityType.AT_Activity2))
-        // {
-        //     return new NewDayActivityInfo() { activityID = (int)NewDayActivityID.BossTrial, redpointID = MainRedDot.BossTrialRepoint, winName = "BossTrialActWin" };
-        // }
-        // else if (IsActivityOpen((int)NewDayActivityID.SecretPlaceXB, (int)ActivityType.AT_Activity2))
-        // {
-        //     return new NewDayActivityInfo() { activityID = (int)NewDayActivityID.SecretPlaceXB, redpointID = MainRedDot.MjxbRedpoint, winName = "SecretPlaceActWin" };
-        // }
-        // else if (IsActivityOpen((int)NewDayActivityID.PetHorseAct, (int)ActivityType.AT_Activity2))
-        // {
-        //     return new NewDayActivityInfo() { activityID = (int)NewDayActivityID.PetHorseAct, redpointID = MainRedDot.QCTrainActRedpoint, winName = "PetHorseActWin" };
-        // }
-        // else if (IsActivityOpen((int)NewDayActivityID.TreasurePavilionAct, (int)ActivityType.AT_Activity2))
-        // {
-        //     return new NewDayActivityInfo() { activityID = (int)NewDayActivityID.TreasurePavilionAct, redpointID = MainRedDot.TreasurePavilionRankActRepoint, winName = "TreasurePavilionRankActWin" };
-        // }
-
-        return new NewDayActivityInfo() { activityID = 0 };
-    }
-
-    //AT_Activity2 鍏ュ彛淇℃伅
-    public struct NewDayActivityInfo
-    {
-        public int activityID;
-        public int redpointID;
-        public string winName;
-    }
-}
-
-public interface IOpenServerActivity
-{
-    bool IsOpen { get; }
-    bool IsAdvance { get; }
-    bool priorityOpen { get; }
-
-    event Action<int> onStateUpdate;
-}
-
-public class ILOpenServerActivityProxy : IOpenServerActivity
-{
-    public bool IsOpen => funcIsOpen();
-
-    public bool IsAdvance => funcIsAdvance();
-
-    public bool priorityOpen => funcPriorityOpen();
-
-    public event Action<int> onStateUpdate;
-
-    private Func<bool> funcIsOpen;
-    private Func<bool> funcIsAdvance;
-    private Func<bool> funcPriorityOpen;
-
-    public ILOpenServerActivityProxy(Func<bool> isOpen, Func<bool> isAdvance, Func<bool> priorityOpen)
-    {
-        funcIsOpen = isOpen;
-        funcIsAdvance = isAdvance;
-        funcPriorityOpen = priorityOpen;
-    }
-
-
-    public void StateUpdate(int id)
-    {
-        if (onStateUpdate != null)
-        {
-            onStateUpdate(id);
-        }
-    }
-
-}
-
-
+锘縰sing System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+//淇敼鎴愭帶鍒跺涓椿鍔ㄦā鍧楋紝濡傜簿褰╂椿鍔ㄦā鏉�1锛岀簿褰╂椿鍔ㄦā鏉�2
+
+public class OpenServerActivityCenter : Singleton<OpenServerActivityCenter>
+{
+    public event Action openServerActivityStateChange;
+
+    //{娲诲姩ID锛氭椿鍔ㄦ帴鍙
+    Dictionary<int, IOpenServerActivity> GameServerActivitys = new Dictionary<int, IOpenServerActivity>();
+
+    public int selectFuncOrder = -1;
+
+    public OpenServerActivityCenter()
+    {
+        TimeUtility.OnServerOpenDayRefresh -= OnServerOpenDayRefresh;
+        TimeUtility.OnServerOpenDayRefresh += OnServerOpenDayRefresh;
+    }
+
+    public void Register(int funcOrder, IOpenServerActivity activity)
+    {
+        if (!GameServerActivitys.ContainsKey(funcOrder))
+        {
+            GameServerActivitys.Add(funcOrder, activity);
+            activity.onStateUpdate -= OnStateUpdate;
+            activity.onStateUpdate += OnStateUpdate;
+        }
+    }
+
+    private void OnStateUpdate(int _order)
+    {
+        if (openServerActivityStateChange != null)
+        {
+            openServerActivityStateChange();
+        }
+    }
+
+    private void OnServerOpenDayRefresh()
+    {
+        if (openServerActivityStateChange != null)
+        {
+            openServerActivityStateChange();
+        }
+    }
+
+    public bool IsAnyActivityOpen(out int _functionOrder)
+    {
+        _functionOrder = 0;
+        foreach (var _order in GameServerActivitys.Keys)
+        {
+            if (GameServerActivitys[_order].IsOpen || GameServerActivitys[_order].IsAdvance)
+            {
+                _functionOrder = _order;
+                return true;
+            }
+        }
+        return false;
+    }
+
+    public bool IsActivityOpen(int _funcOrder)
+    {
+        bool isOpen = false;
+        if (GameServerActivitys.ContainsKey(_funcOrder))
+        {
+            isOpen = GameServerActivitys[_funcOrder].IsOpen || GameServerActivitys[_funcOrder].IsAdvance;
+        }
+
+        return isOpen;
+    }
+
+    public bool IsPriorityOpenOpen(int _funcOrder)
+    {
+        if (GameServerActivitys.ContainsKey(_funcOrder))
+        {
+            return GameServerActivitys[_funcOrder].priorityOpen;
+        }
+        return false;
+    }
+
+
+
+    public void ProcessErrorTip()
+    {
+        SysNotifyMgr.Instance.ShowTip("ActiveOutTime");
+    }
+}
+
+public interface IOpenServerActivity
+{
+    bool IsOpen { get; }
+    bool IsAdvance { get; }
+    bool priorityOpen { get; }
+
+    event Action<int> onStateUpdate;
+}
+
+public class ILOpenServerActivityProxy : IOpenServerActivity
+{
+    public bool IsOpen => funcIsOpen();
+
+    public bool IsAdvance => funcIsAdvance();
+
+    public bool priorityOpen => funcPriorityOpen();
+
+    public event Action<int> onStateUpdate;
+
+    private Func<bool> funcIsOpen;
+    private Func<bool> funcIsAdvance;
+    private Func<bool> funcPriorityOpen;
+
+    public ILOpenServerActivityProxy(Func<bool> isOpen, Func<bool> isAdvance, Func<bool> priorityOpen)
+    {
+        funcIsOpen = isOpen;
+        funcIsAdvance = isAdvance;
+        funcPriorityOpen = priorityOpen;
+    }
+
+
+    public void StateUpdate(int id)
+    {
+        if (onStateUpdate != null)
+        {
+            onStateUpdate(id);
+        }
+    }
+
+}

--
Gitblit v1.8.0