Sfoglia il codice sorgente

MailBoxComponent去掉对CoroutineLockComponent的引用

tanghai 2 anni fa
parent
commit
c679d897d1

+ 0 - 3
Unity/Assets/Scripts/Core/Fiber/MailBoxComponent.cs

@@ -11,7 +11,6 @@
             self.MailBoxType = mailBoxType;
             self.ParentInstanceId = self.Parent.InstanceId;
             fiber.Mailboxes.Add(self);
-            self.CoroutineLockComponent = fiber.CoroutineLockComponent;
         }
         
         [EntitySystem]
@@ -44,7 +43,5 @@
         public long ParentInstanceId { get; set; }
         // Mailbox的类型
         public MailBoxType MailBoxType { get; set; }
-
-        public CoroutineLockComponent CoroutineLockComponent { get; set; }
     }
 }

+ 4 - 4
Unity/Assets/Scripts/Hotfix/Share/Module/Actor/MailBoxType_OrderedMessageHandler.cs

@@ -14,15 +14,15 @@
             
             // 对象池回收
             using MessageObject messageObject = args.MessageObject;
-            
-            CoroutineLockComponent coroutineLockComponent = mailBoxComponent.CoroutineLockComponent;
-            if (coroutineLockComponent == null)
+
+            Fiber fiber = mailBoxComponent.Fiber();
+            if (fiber.IsDisposed)
             {
                 return;
             }
 
             long instanceId = mailBoxComponent.InstanceId;
-            using (await coroutineLockComponent.Wait(CoroutineLockType.Mailbox, mailBoxComponent.ParentInstanceId))
+            using (await fiber.CoroutineLockComponent.Wait(CoroutineLockType.Mailbox, mailBoxComponent.ParentInstanceId))
             {
                 if (mailBoxComponent.InstanceId != instanceId)
                 {