فهرست منبع

帧同步调通

tanghai 2 سال پیش
والد
کامیت
860a571293

+ 1 - 1
Unity/Assets/Resources/GlobalConfig.asset

@@ -14,4 +14,4 @@ MonoBehaviour:
   m_EditorClassIdentifier: 
   CodeMode: 3
   BuildType: 1
-  AppType: 7
+  AppType: 8

+ 2 - 0
Unity/Assets/Scripts/Core/Fiber/Fiber.cs

@@ -86,6 +86,8 @@ namespace ET
             this.IsDisposed = true;
             
             this.IsRuning = false;
+            
+            this.Root.Dispose();
         }
     }
 }

+ 1 - 1
Unity/Assets/Scripts/Core/Network/AService.cs

@@ -71,7 +71,7 @@ namespace ET
 
         public abstract void Remove(long id, int error = 0);
         
-        public abstract bool IsDispose();
+        public abstract bool IsDisposed();
 
         public abstract void Create(long id, IPEndPoint address);
 

+ 6 - 1
Unity/Assets/Scripts/Core/Network/KService.cs

@@ -143,13 +143,18 @@ namespace ET
         private long minTime;
 #endif
         
-        public override bool IsDispose()
+        public override bool IsDisposed()
         {
             return this.Socket == null;
         }
 
         public override void Dispose()
         {
+            if (this.IsDisposed())
+            {
+                return;
+            }
+            
             base.Dispose();
             
             foreach (long channelId in this.localConnChannels.Keys.ToArray())

+ 1 - 1
Unity/Assets/Scripts/Core/Network/TService.cs

@@ -277,7 +277,7 @@ namespace ET
 			}
 		}
 		
-		public override bool IsDispose()
+		public override bool IsDisposed()
 		{
 			return this.acceptor == null;
 		}

+ 1 - 1
Unity/Assets/Scripts/Core/Network/WService.cs

@@ -60,7 +60,7 @@ namespace ET
             channel.Dispose();
         }
 
-        public override bool IsDispose()
+        public override bool IsDisposed()
         {
             return this.ThreadSynchronizationContext == null;
         }

+ 9 - 1
Unity/Assets/Scripts/Core/World/Module/Fiber/FiberManager.cs

@@ -13,7 +13,15 @@ namespace ET
         public void Awake()
         {
         }
-        
+
+        protected override void Destroy()
+        {
+            foreach (var kv in this.fibers)
+            {
+                kv.Value.Dispose();
+            }
+        }
+
         public int Create(int fiberId, int zone, SceneType sceneType, string name)
         {
             try

+ 2 - 2
Unity/Assets/Scripts/Hotfix/Server/Demo/EntryEvent2_InitServer.cs

@@ -19,14 +19,14 @@ namespace ET.Server
                     
                     // 创建进程通信纤程
                     int fiberId = FiberManager.Instance.Create(ConstFiberId.NetInner, 0, SceneType.NetInner, SceneType.NetInner.ToString());
-                    ThreadPoolScheduler.Instance.Add(fiberId);
+                    MainThreadScheduler.Instance.Add(fiberId);
                     
                     // 根据配置创建纤程
                     var processScenes = StartSceneConfigCategory.Instance.GetByProcess(root.Fiber().Process);
                     foreach (StartSceneConfig startConfig in processScenes)
                     {
                         fiberId = FiberManager.Instance.Create(startConfig.Id, startConfig.Zone, startConfig.Type, startConfig.Name);
-                        ThreadPoolScheduler.Instance.Add(fiberId);
+                        MainThreadScheduler.Instance.Add(fiberId);
                     }
 
                     break;

+ 2 - 0
Unity/Assets/Scripts/Hotfix/Server/LockStep/Match/FiberInit_Match.cs

@@ -10,6 +10,8 @@ namespace ET.Server
             Scene root = fiberInit.Fiber.Root;
 
             root.AddComponent<MatchComponent>();
+            root.AddComponent<LocationProxyComponent>();
+            root.AddComponent<ActorLocationSenderComponent>();
         }
     }
 }