From a9b4bb435fc0eda83fa5338f40ff854bd9844361 Mon Sep 17 00:00:00 2001
From: lwb <q3213421wrwqr>
Date: 星期一, 22 二月 2021 17:53:33 +0800
Subject: [PATCH] Merge branch 'master' into ILRuntime

---
 System/OpenServerActivity/OpenServerActivityCenter.cs |   95 ++++++++++++++++++++---------------------------
 1 files changed, 41 insertions(+), 54 deletions(-)

diff --git a/System/OpenServerActivity/OpenServerActivityCenter.cs b/System/OpenServerActivity/OpenServerActivityCenter.cs
index 6040903..f3d03e6 100644
--- a/System/OpenServerActivity/OpenServerActivityCenter.cs
+++ b/System/OpenServerActivity/OpenServerActivityCenter.cs
@@ -4,46 +4,44 @@
 using UnityEngine;
 namespace Snxxz.UI
 {
+    //淇敼鎴愭帶鍒跺涓椿鍔ㄦā鍧楋紝濡傜簿褰╂椿鍔ㄦā鏉�1锛岀簿褰╂椿鍔ㄦā鏉�2
     [XLua.LuaCallCSharp]
     public class OpenServerActivityCenter : Singleton<OpenServerActivityCenter>
     {
         public event Action openServerActivityStateChange;
 
-        Dictionary<int, IOpenServerActivity> openServerActivitys = new Dictionary<int, IOpenServerActivity>();
-        Dictionary<int, ILuaOpenServerActivity> luaOpenServerAcitivitys = new Dictionary<int, ILuaOpenServerActivity>();
+        //{娲诲姩妯℃澘锛歿娲诲姩ID锛氭椿鍔ㄦ帴鍙}
+        Dictionary<int, Dictionary<int, IOpenServerActivity>> GameServerActivitys = new Dictionary<int, Dictionary<int, IOpenServerActivity>>();
 
         public int selectFuncOrder = -1;
+
+        public enum ActivityType
+        {
+            AT_JCHD = 0,    //绮惧僵娲诲姩
+            AT_JRZF,    //鑺傛棩绁濈
+            AT_HFHD,    //鍚堟湇娲诲姩
+            AT_Activity1,   //棰勫娲诲姩1
+            AT_Activity2,   //棰勫娲诲姩2
+            AT_Activity3,   //棰勫娲诲姩3
+        }
 
         public OpenServerActivityCenter()
         {
             TimeUtility.OnServerOpenDayRefresh += OnServerOpenDayRefresh;
         }
 
-        public void Register(int funcOrder, IOpenServerActivity activity)
+        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;
-            }
-        }
-
-        public void RegisterLuaActivity(int funcOrder, string luaTableName)
-        {
-            if (!openServerActivitys.ContainsKey(funcOrder))
-            {
-                var activity = LuaUtility.Global.Get<IOpenServerActivity>(luaTableName);
-                if (activity != null)
-                {
-                    openServerActivitys.Add(funcOrder, activity);
-                    activity.onStateUpdate += OnStateUpdate;
-                }
-
-                var luaActivity = LuaUtility.Global.Get<ILuaOpenServerActivity>(luaTableName);
-                if (luaActivity != null)
-                {
-                    luaOpenServerAcitivitys[funcOrder] = luaActivity;
-                }
             }
         }
 
@@ -63,8 +61,14 @@
             }
         }
 
-        public bool IsAnyActivityOpen(out int _functionOrder)
+        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)
             {
@@ -77,8 +81,14 @@
             return false;
         }
 
-        public bool IsActivityOpen(int _funcOrder)
+        public bool IsActivityOpen(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].IsOpen || openServerActivitys[_funcOrder].IsAdvance;
@@ -86,8 +96,14 @@
             return false;
         }
 
-        public bool IsPriorityOpenOpen(int _funcOrder)
+        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;
@@ -95,13 +111,6 @@
             return false;
         }
 
-        public void SetSelectDefaultChildType(int _funcOrder)
-        {
-            if (luaOpenServerAcitivitys.ContainsKey(_funcOrder))
-            {
-                luaOpenServerAcitivitys[_funcOrder].SetSelectDefaultChildType();
-            }
-        }
 
         public bool ExistChildBookmark(int _funcOrder)
         {
@@ -122,14 +131,6 @@
             }
         }
 
-        public int GetChildSelectType(int _funcOrder)
-        {
-            if (luaOpenServerAcitivitys.ContainsKey(_funcOrder))
-            {
-                return luaOpenServerAcitivitys[_funcOrder].selectType;
-            }
-            return 0;
-        }
 
         public int[] GetChildTypes(int _funcOrder)
         {
@@ -141,13 +142,6 @@
             return null;
         }
 
-        public void SetSelectChildType(int _funcOrder, int type)
-        {
-            if (luaOpenServerAcitivitys.ContainsKey(_funcOrder))
-            {
-                luaOpenServerAcitivitys[_funcOrder].SetSelectChildType(type);
-            }
-        }
 
         public void ProcessErrorTip()
         {
@@ -165,12 +159,5 @@
         event Action<int> onStateUpdate;
     }
 
-    [XLua.CSharpCallLua]
-    public interface ILuaOpenServerActivity
-    {
-        int selectType { get; }
-        void SetSelectDefaultChildType();
-        void SetSelectChildType(int type);
-    }
 }
 

--
Gitblit v1.8.0