Sfoglia il codice sorgente

名字这块做了很大的调整,主要原因是现在所有的消息都是Actor消息,所以,其实不需要再加Actor前缀
ActorInnerComponent 改成 MessageInnerSender
ActorOuterComponent 改成 MessageOuterSender
ActorMessageHandler 改成 MessageHandler
ActorMessageDispatcherComponent 改成 MessageDispatcher
ActorMessageLocationHandler 改成 MessageLocationHandler
ActorMessageQueue 改成 MessageQueue
MessageHandler 改成 MessageSessionHandler 因为类似C2G_Ping这类消息只是分发不同,所以统一做成Actor消息
MessageDispatcherComponent 改成 MessageSessionDispatcher
基本上就是把原来的Message改成MessageSession,把Actor改成Message

tanghai 2 anni fa
parent
commit
7d2800c7e1
100 ha cambiato i file con 638 aggiunte e 680 eliminazioni
  1. 2 2
      Unity/Assets/Config/Proto/LockStepOuter_C_11001.proto
  2. 0 14
      Unity/Assets/Config/Proto/OuterMessage_C_10001.proto
  3. 4 4
      Unity/Assets/Scripts/Core/Fiber/Fiber.cs
  4. 0 16
      Unity/Assets/Scripts/Core/Fiber/Module/Actor/ActorInnerComponent.cs
  5. 1 1
      Unity/Assets/Scripts/Core/Fiber/Module/Actor/MessageHelper.cs
  6. 1 1
      Unity/Assets/Scripts/Core/Fiber/Module/Actor/MessageHelper.cs.meta
  7. 16 0
      Unity/Assets/Scripts/Core/Fiber/Module/Actor/MessageInnerSender.cs
  8. 1 1
      Unity/Assets/Scripts/Core/Fiber/Module/Actor/MessageInnerSender.cs.meta
  9. 35 35
      Unity/Assets/Scripts/Core/Fiber/Module/Actor/MessageInnerSenderSystem.cs
  10. 1 1
      Unity/Assets/Scripts/Core/Fiber/Module/Actor/MessageInnerSenderSystem.cs.meta
  11. 2 2
      Unity/Assets/Scripts/Core/Fiber/Module/Actor/MessageSenderStruct.cs
  12. 1 1
      Unity/Assets/Scripts/Core/Fiber/Module/Actor/MessageSenderStruct.cs.meta
  13. 1 1
      Unity/Assets/Scripts/Core/Fiber/Module/CoroutineLock/CoroutineLockType.cs
  14. 2 2
      Unity/Assets/Scripts/Core/Network/ErrorCore.cs
  15. 4 10
      Unity/Assets/Scripts/Core/Network/KChannel.cs
  16. 0 11
      Unity/Assets/Scripts/Core/World/Module/Actor/ActorMessageDispatcherComponent.cs.meta
  17. 0 11
      Unity/Assets/Scripts/Core/World/Module/Actor/ActorMessageHandlerAttribute.cs.meta
  18. 0 11
      Unity/Assets/Scripts/Core/World/Module/Actor/ActorMessageLocationHandlerAttribute.cs
  19. 0 11
      Unity/Assets/Scripts/Core/World/Module/Actor/ActorMessageLocationHandlerAttribute.cs.meta
  20. 0 11
      Unity/Assets/Scripts/Core/World/Module/Actor/ActorMessageQueue.cs.meta
  21. 0 11
      Unity/Assets/Scripts/Core/World/Module/Actor/IMActorHandler.cs.meta
  22. 1 1
      Unity/Assets/Scripts/Core/World/Module/Actor/IMHandler.cs
  23. 1 1
      Unity/Assets/Scripts/Core/World/Module/Actor/IMHandler.cs.meta
  24. 21 21
      Unity/Assets/Scripts/Core/World/Module/Actor/MessageDispatcher.cs
  25. 11 0
      Unity/Assets/Scripts/Core/World/Module/Actor/MessageDispatcher.cs.meta
  26. 0 0
      Unity/Assets/Scripts/Core/World/Module/Actor/MessageHandlerAttribute.cs
  27. 1 1
      Unity/Assets/Scripts/Core/World/Module/Actor/MessageHandlerAttribute.cs.meta
  28. 11 0
      Unity/Assets/Scripts/Core/World/Module/Actor/MessageLocationHandlerAttribute.cs
  29. 11 0
      Unity/Assets/Scripts/Core/World/Module/Actor/MessageLocationHandlerAttribute.cs.meta
  30. 11 11
      Unity/Assets/Scripts/Core/World/Module/Actor/MessageQueue.cs
  31. 11 0
      Unity/Assets/Scripts/Core/World/Module/Actor/MessageQueue.cs.meta
  32. 3 3
      Unity/Assets/Scripts/Hotfix/Client/Demo/Main/ClientSenderCompnentSystem.cs
  33. 2 2
      Unity/Assets/Scripts/Hotfix/Client/Demo/Main/Move/M2C_PathfindingResultHandler.cs
  34. 2 2
      Unity/Assets/Scripts/Hotfix/Client/Demo/Main/Move/M2C_StopHandler.cs
  35. 2 2
      Unity/Assets/Scripts/Hotfix/Client/Demo/Main/NetClient2Main_SessionDisposeHandler.cs
  36. 2 2
      Unity/Assets/Scripts/Hotfix/Client/Demo/Main/Scene/M2C_StartSceneChangeHandler.cs
  37. 2 2
      Unity/Assets/Scripts/Hotfix/Client/Demo/Main/Unit/M2C_CreateMyUnitHandler.cs
  38. 2 2
      Unity/Assets/Scripts/Hotfix/Client/Demo/Main/Unit/M2C_CreateUnitsHandler.cs
  39. 2 2
      Unity/Assets/Scripts/Hotfix/Client/Demo/Main/Unit/M2C_RemoveUnitsHandler.cs
  40. 2 2
      Unity/Assets/Scripts/Hotfix/Client/Demo/NetClient/A2NetClient_MessageHandler.cs
  41. 2 2
      Unity/Assets/Scripts/Hotfix/Client/Demo/NetClient/A2NetClient_RequestHandler.cs
  42. 1 1
      Unity/Assets/Scripts/Hotfix/Client/Demo/NetClient/FiberInit_NetClient.cs
  43. 2 2
      Unity/Assets/Scripts/Hotfix/Client/Demo/NetClient/Main2NetClient_LoginHandler.cs
  44. 2 2
      Unity/Assets/Scripts/Hotfix/Client/LockStep/G2C_ChangeSceneHandler.cs
  45. 2 2
      Unity/Assets/Scripts/Hotfix/Client/LockStep/G2C_ReconnectHandler.cs
  46. 2 2
      Unity/Assets/Scripts/Hotfix/Client/LockStep/OneFrameInputsHandler.cs
  47. 2 2
      Unity/Assets/Scripts/Hotfix/Client/LockStep/Room2C_AdjustUpdateTimeHandler.cs
  48. 2 2
      Unity/Assets/Scripts/Hotfix/Client/LockStep/Room2C_CheckHashFailHandler.cs
  49. 2 2
      Unity/Assets/Scripts/Hotfix/Client/LockStep/Room2C_EnterMapHandler.cs
  50. 1 1
      Unity/Assets/Scripts/Hotfix/Client/Module/Message/ClientSessionErrorComponentSystem.cs
  51. 2 2
      Unity/Assets/Scripts/Hotfix/Client/Module/Message/NetClientComponentSystem.cs
  52. 2 2
      Unity/Assets/Scripts/Hotfix/Server/Benchmark/C2G_BenchmarkHandler.cs
  53. 2 2
      Unity/Assets/Scripts/Hotfix/Server/Demo/Gate/C2G_EnterMapHandler.cs
  54. 3 3
      Unity/Assets/Scripts/Hotfix/Server/Demo/Gate/C2G_LoginGateHandler.cs
  55. 2 2
      Unity/Assets/Scripts/Hotfix/Server/Demo/Gate/C2G_PingHandler.cs
  56. 3 3
      Unity/Assets/Scripts/Hotfix/Server/Demo/Gate/FiberInit_Gate.cs
  57. 6 6
      Unity/Assets/Scripts/Hotfix/Server/Demo/Gate/NetServerComponentOnReadEvent.cs
  58. 2 2
      Unity/Assets/Scripts/Hotfix/Server/Demo/Gate/R2G_GetLoginKeyHandler.cs
  59. 1 1
      Unity/Assets/Scripts/Hotfix/Server/Demo/Gate/SessionPlayerComponentSystem.cs
  60. 2 2
      Unity/Assets/Scripts/Hotfix/Server/Demo/Map/C2M_TestRobotCaseHandler.cs
  61. 2 2
      Unity/Assets/Scripts/Hotfix/Server/Demo/Map/G2M_SessionDisconnectHandler.cs
  62. 2 2
      Unity/Assets/Scripts/Hotfix/Server/Demo/Map/Move/C2M_PathfindingResultHandler.cs
  63. 2 2
      Unity/Assets/Scripts/Hotfix/Server/Demo/Map/Move/C2M_StopHandler.cs
  64. 2 2
      Unity/Assets/Scripts/Hotfix/Server/Demo/Map/Transfer/C2M_TransferMapHandler.cs
  65. 2 2
      Unity/Assets/Scripts/Hotfix/Server/Demo/Map/Transfer/M2M_UnitTransferRequestHandler.cs
  66. 1 1
      Unity/Assets/Scripts/Hotfix/Server/Demo/Map/Transfer/TransferHelper.cs
  67. 5 5
      Unity/Assets/Scripts/Hotfix/Server/Demo/MessageHelper.cs
  68. 3 3
      Unity/Assets/Scripts/Hotfix/Server/Demo/Realm/C2R_LoginHandler.cs
  69. 2 2
      Unity/Assets/Scripts/Hotfix/Server/Demo/Realm/FiberInit_Realm.cs
  70. 3 3
      Unity/Assets/Scripts/Hotfix/Server/LockStep/Gate/C2G_MatchHandler.cs
  71. 2 2
      Unity/Assets/Scripts/Hotfix/Server/LockStep/Gate/Match2G_NotifyMatchSuccessHandler.cs
  72. 2 2
      Unity/Assets/Scripts/Hotfix/Server/LockStep/Map/C2Room_ChangeSceneFinishHandler.cs
  73. 3 3
      Unity/Assets/Scripts/Hotfix/Server/LockStep/Map/FiberInit_Map.cs
  74. 3 3
      Unity/Assets/Scripts/Hotfix/Server/LockStep/Map/FrameMessageHandler.cs
  75. 3 3
      Unity/Assets/Scripts/Hotfix/Server/LockStep/Map/Match2Map_GetRoomHandler.cs
  76. 2 2
      Unity/Assets/Scripts/Hotfix/Server/LockStep/Map/RoomMessageHelper.cs
  77. 3 3
      Unity/Assets/Scripts/Hotfix/Server/LockStep/Match/FiberInit_Match.cs
  78. 2 2
      Unity/Assets/Scripts/Hotfix/Server/LockStep/Match/G2Match_MatchHandler.cs
  79. 3 3
      Unity/Assets/Scripts/Hotfix/Server/LockStep/Match/MatchComponentSystem.cs
  80. 3 3
      Unity/Assets/Scripts/Hotfix/Server/LockStep/Room/C2Room_CheckHashHandler.cs
  81. 3 3
      Unity/Assets/Scripts/Hotfix/Server/LockStep/Room/FiberInit_RoomRoot.cs
  82. 2 2
      Unity/Assets/Scripts/Hotfix/Server/LockStep/Room/G2Room_ReconnectHandler.cs
  83. 2 2
      Unity/Assets/Scripts/Hotfix/Server/LockStep/Room/RoomManager2Room_InitHandler.cs
  84. 0 310
      Unity/Assets/Scripts/Hotfix/Server/Module/ActorLocation/ActorLocationSenderComponentSystem.cs
  85. 0 11
      Unity/Assets/Scripts/Hotfix/Server/Module/ActorLocation/ActorLocationSenderComponentSystem.cs.meta
  86. 0 11
      Unity/Assets/Scripts/Hotfix/Server/Module/ActorLocation/ActorLocationSenderSystem.cs.meta
  87. 0 11
      Unity/Assets/Scripts/Hotfix/Server/Module/ActorLocation/ActorMessageLocationHandler.cs.meta
  88. 2 2
      Unity/Assets/Scripts/Hotfix/Server/Module/ActorLocation/FiberInit_Location.cs
  89. 5 5
      Unity/Assets/Scripts/Hotfix/Server/Module/ActorLocation/LocationProxyComponentSystem.cs
  90. 4 4
      Unity/Assets/Scripts/Hotfix/Server/Module/ActorLocation/MessageLocationHandler.cs
  91. 11 0
      Unity/Assets/Scripts/Hotfix/Server/Module/ActorLocation/MessageLocationHandler.cs.meta
  92. 310 0
      Unity/Assets/Scripts/Hotfix/Server/Module/ActorLocation/MessageLocationSenderComponentSystem.cs
  93. 11 0
      Unity/Assets/Scripts/Hotfix/Server/Module/ActorLocation/MessageLocationSenderComponentSystem.cs.meta
  94. 5 5
      Unity/Assets/Scripts/Hotfix/Server/Module/ActorLocation/MessageLocationSenderSystem.cs
  95. 11 0
      Unity/Assets/Scripts/Hotfix/Server/Module/ActorLocation/MessageLocationSenderSystem.cs.meta
  96. 2 2
      Unity/Assets/Scripts/Hotfix/Server/Module/ActorLocation/ObjectAddRequestHandler.cs
  97. 2 2
      Unity/Assets/Scripts/Hotfix/Server/Module/ActorLocation/ObjectGetRequestHandler.cs
  98. 2 2
      Unity/Assets/Scripts/Hotfix/Server/Module/ActorLocation/ObjectLockRequestHandler.cs
  99. 2 2
      Unity/Assets/Scripts/Hotfix/Server/Module/ActorLocation/ObjectRemoveRequestHandler.cs
  100. 2 2
      Unity/Assets/Scripts/Hotfix/Server/Module/ActorLocation/ObjectUnLockRequestHandler.cs

+ 2 - 2
Unity/Assets/Config/Proto/LockStepOuter_C_11001.proto

@@ -23,7 +23,7 @@ message Match2G_NotifyMatchSuccess // IMessage
 }
 
 // 客户端通知房间切换场景完成
-message C2Room_ChangeSceneFinish // IRoom
+message C2Room_ChangeSceneFinish // IRoomMessage
 {
 	int64 PlayerId = 1;
 }
@@ -59,7 +59,7 @@ message Room2C_AdjustUpdateTime // IMessage
 	int32 DiffTime = 1;
 }
 
-message C2Room_CheckHash // IRoom
+message C2Room_CheckHash // IRoomMessage
 {
 	int64 PlayerId = 1;
 	int32 Frame = 2;

+ 0 - 14
Unity/Assets/Config/Proto/OuterMessage_C_10001.proto

@@ -28,20 +28,6 @@ message M2C_TestResponse // IResponse
 	string response = 4;
 }
 
-//ResponseType Actor_TransferResponse
-message Actor_TransferRequest // ILocationRequest
-{
-	int32 RpcId = 1;
-	int32 MapIndex = 2;
-}
-
-message Actor_TransferResponse // ILocationResponse
-{
-	int32 RpcId = 1;
-	int32 Error = 2;
-	string Message = 3;
-}
-
 //ResponseType G2C_EnterMap
 message C2G_EnterMap // ISessionRequest
 {

+ 4 - 4
Unity/Assets/Scripts/Core/Fiber/Fiber.cs

@@ -69,16 +69,16 @@ namespace ET
             }
         }
         
-        private EntityRef<ActorInnerComponent> actorInnerComponent;
-        public ActorInnerComponent ActorInnerComponent
+        private EntityRef<MessageInnerSender> messageInnerSender;
+        public MessageInnerSender MessageInnerSender
         {
             get
             {
-                return this.actorInnerComponent;
+                return this.messageInnerSender;
             }
             set
             {
-                this.actorInnerComponent = value;
+                this.messageInnerSender = value;
             }
         }
 

+ 0 - 16
Unity/Assets/Scripts/Core/Fiber/Module/Actor/ActorInnerComponent.cs

@@ -1,16 +0,0 @@
-using System.Collections.Generic;
-
-namespace ET
-{
-    [ComponentOf(typeof(Scene))]
-    public class ActorInnerComponent: Entity, IAwake, IDestroy, IUpdate
-    {
-        public const long TIMEOUT_TIME = 40 * 1000;
-        
-        public int RpcId;
-
-        public readonly Dictionary<int, ActorMessageSender> requestCallback = new();
-        
-        public readonly List<ActorMessageInfo> list = new();
-    }
-}

+ 1 - 1
Unity/Assets/Scripts/Core/Fiber/Module/Actor/ActorHelper.cs → Unity/Assets/Scripts/Core/Fiber/Module/Actor/MessageHelper.cs

@@ -2,7 +2,7 @@ using System;
 
 namespace ET
 {
-    public static class ActorHelper
+    public static class MessageHelper
     {
         public static IResponse CreateResponse(IRequest iRequest, int error)
         {

+ 1 - 1
Unity/Assets/Scripts/Core/Fiber/Module/Actor/ActorInnerComponentSystem.cs.meta → Unity/Assets/Scripts/Core/Fiber/Module/Actor/MessageHelper.cs.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: ceb83d81c9c72a340887562f24d51629
+guid: 0fb7f2574cbc4d249b6671e7bb16a396
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2

+ 16 - 0
Unity/Assets/Scripts/Core/Fiber/Module/Actor/MessageInnerSender.cs

@@ -0,0 +1,16 @@
+using System.Collections.Generic;
+
+namespace ET
+{
+    [ComponentOf(typeof(Scene))]
+    public class MessageInnerSender: Entity, IAwake, IDestroy, IUpdate
+    {
+        public const long TIMEOUT_TIME = 40 * 1000;
+        
+        public int RpcId;
+
+        public readonly Dictionary<int, MessageSenderStruct> requestCallback = new();
+        
+        public readonly List<MessageInfo> list = new();
+    }
+}

+ 1 - 1
Unity/Assets/Scripts/Core/Fiber/Module/Actor/ActorHelper.cs.meta → Unity/Assets/Scripts/Core/Fiber/Module/Actor/MessageInnerSender.cs.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: a98f0108855505546a19aa3fb9aeba48
+guid: 090783862ff8cf142af6a9b087212565
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2

+ 35 - 35
Unity/Assets/Scripts/Core/Fiber/Module/Actor/ActorInnerComponentSystem.cs → Unity/Assets/Scripts/Core/Fiber/Module/Actor/MessageInnerSenderSystem.cs

@@ -4,48 +4,48 @@ using System.IO;
 
 namespace ET
 {
-    [EntitySystemOf(typeof(ActorInnerComponent))]
-    [FriendOf(typeof(ActorInnerComponent))]
-    public static partial class ActorInnerComponentSystem
+    [EntitySystemOf(typeof(MessageInnerSender))]
+    [FriendOf(typeof(MessageInnerSender))]
+    public static partial class MessageInnerSenderSystem
     {
         [EntitySystem]
-        private static void Destroy(this ActorInnerComponent self)
+        private static void Destroy(this MessageInnerSender self)
         {
             Fiber fiber = self.Fiber();
-            ActorMessageQueue.Instance.RemoveQueue(fiber.Id);
+            MessageQueue.Instance.RemoveQueue(fiber.Id);
         }
 
         [EntitySystem]
-        private static void Awake(this ActorInnerComponent self)
+        private static void Awake(this MessageInnerSender self)
         {
             Fiber fiber = self.Fiber();
-            ActorMessageQueue.Instance.AddQueue(fiber.Id);
-            fiber.ActorInnerComponent = self;
+            MessageQueue.Instance.AddQueue(fiber.Id);
+            fiber.MessageInnerSender = self;
         }
 
         [EntitySystem]
-        private static void Update(this ActorInnerComponent self)
+        private static void Update(this MessageInnerSender self)
         {
             self.list.Clear();
             Fiber fiber = self.Fiber();
-            ActorMessageQueue.Instance.Fetch(fiber.Id, 1000, self.list);
+            MessageQueue.Instance.Fetch(fiber.Id, 1000, self.list);
 
-            foreach (ActorMessageInfo actorMessageInfo in self.list)
+            foreach (MessageInfo actorMessageInfo in self.list)
             {
                 self.HandleMessage(fiber, actorMessageInfo);
             }
         }
 
-        private static void HandleMessage(this ActorInnerComponent self, Fiber fiber, in ActorMessageInfo actorMessageInfo)
+        private static void HandleMessage(this MessageInnerSender self, Fiber fiber, in MessageInfo messageInfo)
         {
-            if (actorMessageInfo.MessageObject is IResponse response)
+            if (messageInfo.MessageObject is IResponse response)
             {
                 self.HandleIActorResponse(response);
                 return;
             }
 
-            ActorId actorId = actorMessageInfo.ActorId;
-            IMessage message = actorMessageInfo.MessageObject;
+            ActorId actorId = messageInfo.ActorId;
+            IMessage message = messageInfo.MessageObject;
 
             MailBoxComponent mailBoxComponent = self.Fiber().Mailboxes.Get(actorId.InstanceId);
             if (mailBoxComponent == null)
@@ -53,7 +53,7 @@ namespace ET
                 Log.Warning($"actor not found mailbox, from: {actorId} current: {fiber.Address} {message}");
                 if (message is IRequest request)
                 {
-                    IResponse resp = ActorHelper.CreateResponse(request, ErrorCore.ERR_NotFoundActor);
+                    IResponse resp = MessageHelper.CreateResponse(request, ErrorCore.ERR_NotFoundActor);
                     self.Reply(actorId.Address, resp);
                 }
                 return;
@@ -61,18 +61,18 @@ namespace ET
             mailBoxComponent.Add(actorId.Address, message);
         }
 
-        private static void HandleIActorResponse(this ActorInnerComponent self, IResponse response)
+        private static void HandleIActorResponse(this MessageInnerSender self, IResponse response)
         {
-            if (!self.requestCallback.Remove(response.RpcId, out ActorMessageSender actorMessageSender))
+            if (!self.requestCallback.Remove(response.RpcId, out MessageSenderStruct actorMessageSender))
             {
                 return;
             }
             Run(actorMessageSender, response);
         }
         
-        private static void Run(ActorMessageSender self, IResponse response)
+        private static void Run(MessageSenderStruct self, IResponse response)
         {
-            if (response.Error == ErrorCore.ERR_ActorTimeout)
+            if (response.Error == ErrorCore.ERR_MessageTimeout)
             {
                 self.Tcs.SetException(new Exception($"Rpc error: request, 注意Actor消息超时,请注意查看是否死锁或者没有reply: actorId: {self.ActorId} {self.Request}, response: {response}"));
                 return;
@@ -87,17 +87,17 @@ namespace ET
             self.Tcs.SetResult(response);
         }
         
-        public static void Reply(this ActorInnerComponent self, Address fromAddress, IResponse message)
+        public static void Reply(this MessageInnerSender self, Address fromAddress, IResponse message)
         {
-            self.SendInner(new ActorId(fromAddress, 0), message);
+            self.SendInner(new ActorId(fromAddress, 0), (MessageObject)message);
         }
 
-        public static void Send(this ActorInnerComponent self, ActorId actorId, IMessage message)
+        public static void Send(this MessageInnerSender self, ActorId actorId, IMessage message)
         {
-            self.SendInner(actorId, message);
+            self.SendInner(actorId, (MessageObject)message);
         }
 
-        private static void SendInner(this ActorInnerComponent self, ActorId actorId, IMessage message)
+        private static void SendInner(this MessageInnerSender self, ActorId actorId, MessageObject message)
         {
             Fiber fiber = self.Fiber();
             
@@ -109,20 +109,20 @@ namespace ET
 
             if (actorId.Fiber == fiber.Id)
             {
-                self.HandleMessage(fiber, new ActorMessageInfo() {ActorId = actorId, MessageObject = message});
+                self.HandleMessage(fiber, new MessageInfo() {ActorId = actorId, MessageObject = message});
                 return;
             }
             
-            ActorMessageQueue.Instance.Send(fiber.Address, actorId, message);
+            MessageQueue.Instance.Send(fiber.Address, actorId, message);
         }
 
-        public static int GetRpcId(this ActorInnerComponent self)
+        public static int GetRpcId(this MessageInnerSender self)
         {
             return ++self.RpcId;
         }
 
         public static async ETTask<IResponse> Call(
-                this ActorInnerComponent self,
+                this MessageInnerSender self,
                 ActorId actorId,
                 IRequest request,
                 bool needException = true
@@ -139,7 +139,7 @@ namespace ET
         }
         
         public static async ETTask<IResponse> Call(
-                this ActorInnerComponent self,
+                this MessageInnerSender self,
                 ActorId actorId,
                 int rpcId,
                 IRequest iRequest,
@@ -158,16 +158,16 @@ namespace ET
             
             var tcs = ETTask<IResponse>.Create(true);
 
-            self.requestCallback.Add(rpcId, new ActorMessageSender(actorId, iRequest, tcs, needException));
+            self.requestCallback.Add(rpcId, new MessageSenderStruct(actorId, iRequest, tcs, needException));
             
-            self.SendInner(actorId, iRequest);
+            self.SendInner(actorId, (MessageObject)iRequest);
 
             
             async ETTask Timeout()
             {
-                await fiber.TimerComponent.WaitAsync(ActorInnerComponent.TIMEOUT_TIME);
+                await fiber.TimerComponent.WaitAsync(MessageInnerSender.TIMEOUT_TIME);
 
-                if (!self.requestCallback.Remove(rpcId, out ActorMessageSender action))
+                if (!self.requestCallback.Remove(rpcId, out MessageSenderStruct action))
                 {
                     return;
                 }
@@ -178,7 +178,7 @@ namespace ET
                 }
                 else
                 {
-                    IResponse response = ActorHelper.CreateResponse(iRequest, ErrorCore.ERR_Timeout);
+                    IResponse response = MessageHelper.CreateResponse(iRequest, ErrorCore.ERR_Timeout);
                     action.Tcs.SetResult(response);
                 }
             }

+ 1 - 1
Unity/Assets/Scripts/Core/Fiber/Module/Actor/ActorMessageSender.cs.meta → Unity/Assets/Scripts/Core/Fiber/Module/Actor/MessageInnerSenderSystem.cs.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: b51d51733a35791478b6a487b5196dd3
+guid: f758847937334d94592a56039858191e
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2

+ 2 - 2
Unity/Assets/Scripts/Core/Fiber/Module/Actor/ActorMessageSender.cs → Unity/Assets/Scripts/Core/Fiber/Module/Actor/MessageSenderStruct.cs

@@ -3,7 +3,7 @@
 namespace ET
 {
     // 知道对方的instanceId,使用这个类发actor消息
-    public readonly struct ActorMessageSender
+    public readonly struct MessageSenderStruct
     {
         public ActorId ActorId { get; }
         
@@ -13,7 +13,7 @@ namespace ET
 
         public ETTask<IResponse> Tcs { get; }
 
-        public ActorMessageSender(ActorId actorId, IRequest iRequest, ETTask<IResponse> tcs, bool needException)
+        public MessageSenderStruct(ActorId actorId, IRequest iRequest, ETTask<IResponse> tcs, bool needException)
         {
             this.ActorId = actorId;
             this.Request = iRequest;

+ 1 - 1
Unity/Assets/Scripts/Core/Fiber/Module/Actor/ActorInnerComponent.cs.meta → Unity/Assets/Scripts/Core/Fiber/Module/Actor/MessageSenderStruct.cs.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: d74a2fe39353d9c498e360f72bca8080
+guid: 45dca9d6f16557645a7ce5b1dfad7176
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2

+ 1 - 1
Unity/Assets/Scripts/Core/Fiber/Module/CoroutineLock/CoroutineLockType.cs

@@ -4,7 +4,7 @@ namespace ET
     {
         public const int None = 0;
         public const int Location = 1;                  // location进程上使用
-        public const int ActorLocationSender = 2;       // ActorLocationSender中队列消息 
+        public const int MessageLocationSender = 2;       // MessageLocationSender中队列消息 
         public const int Mailbox = 3;                   // Mailbox中队列
         public const int UnitId = 4;                    // Map服务器上线下线时使用
         public const int DB = 5;

+ 2 - 2
Unity/Assets/Scripts/Core/Network/ErrorCore.cs

@@ -26,7 +26,7 @@
         public const int ERR_KcpSplitError = 100231;
         public const int ERR_KcpSplitCountError = 100232;
 
-        public const int ERR_ActorLocationSenderTimeout = 110004;
+        public const int ERR_MessageLocationSenderTimeout = 110004;
         public const int ERR_PacketParserError = 110005;
         public const int ERR_KcpChannelAcceptTimeout = 110206;
         public const int ERR_KcpRemoteDisconnect = 110207;
@@ -38,7 +38,7 @@
         public const int ERR_SessionSendOrRecvTimeout = 110311;
         public const int ERR_OuterSessionRecvInnerMessage = 110312;
         public const int ERR_NotFoundActor = 110313;
-        public const int ERR_ActorTimeout = 110315;
+        public const int ERR_MessageTimeout = 110315;
         public const int ERR_UnverifiedSessionSendMessage = 110316;
         public const int ERR_ActorLocationSenderTimeout2 = 110317;
         public const int ERR_ActorLocationSenderTimeout3 = 110318;

+ 4 - 10
Unity/Assets/Scripts/Core/Network/KChannel.cs

@@ -7,19 +7,13 @@ using System.Runtime.InteropServices;
 
 namespace ET
 {
-	public struct KcpMessageInfo
-	{
-		public ActorId ActorId;
-		public MessageObject MessageObject;
-	}
-	
 	public class KChannel : AChannel
 	{
 		private readonly KService Service;
 
 		private Kcp kcp { get; set; }
 
-		private readonly Queue<KcpMessageInfo> waitSendMessages = new();
+		private readonly Queue<MessageInfo> waitSendMessages = new();
 		
 		public readonly uint CreateTime;
 
@@ -166,7 +160,7 @@ namespace ET
 					break;
 				}
 				
-				KcpMessageInfo buffer = this.waitSendMessages.Dequeue();
+				MessageInfo buffer = this.waitSendMessages.Dequeue();
 				this.Send(buffer.ActorId, buffer.MessageObject);
 			}
 		}
@@ -443,8 +437,8 @@ namespace ET
 		{
 			if (!this.IsConnected)
 			{
-				KcpMessageInfo actorMessageInfo = new() { ActorId = actorId, MessageObject = message };
-				this.waitSendMessages.Enqueue(actorMessageInfo);
+				MessageInfo messageInfo = new() { ActorId = actorId, MessageObject = message };
+				this.waitSendMessages.Enqueue(messageInfo);
 				return;
 			}
 

+ 0 - 11
Unity/Assets/Scripts/Core/World/Module/Actor/ActorMessageDispatcherComponent.cs.meta

@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 294f1f138d2646e48b9bcbf0735b1e40
-MonoImporter:
-  externalObjects: {}
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 

+ 0 - 11
Unity/Assets/Scripts/Core/World/Module/Actor/ActorMessageHandlerAttribute.cs.meta

@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 4030c4594ee40704e893482747b7777e
-MonoImporter:
-  externalObjects: {}
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 

+ 0 - 11
Unity/Assets/Scripts/Core/World/Module/Actor/ActorMessageLocationHandlerAttribute.cs

@@ -1,11 +0,0 @@
-using System;
-
-namespace ET
-{
-    public class ActorMessageLocationHandlerAttribute: ActorMessageHandlerAttribute
-    {
-        public ActorMessageLocationHandlerAttribute(SceneType sceneType): base(sceneType)
-        {
-        }
-    }
-}

+ 0 - 11
Unity/Assets/Scripts/Core/World/Module/Actor/ActorMessageLocationHandlerAttribute.cs.meta

@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 93635a0b30dc9c940af1c28d9614db92
-MonoImporter:
-  externalObjects: {}
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 

+ 0 - 11
Unity/Assets/Scripts/Core/World/Module/Actor/ActorMessageQueue.cs.meta

@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 4bc600297c654056823d9ac4821e69b1
-MonoImporter:
-  externalObjects: {}
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 

+ 0 - 11
Unity/Assets/Scripts/Core/World/Module/Actor/IMActorHandler.cs.meta

@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: b5dc447b842d71c4aa4ff84f98d4f5e4
-MonoImporter:
-  externalObjects: {}
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 

+ 1 - 1
Unity/Assets/Scripts/Core/World/Module/Actor/IMActorHandler.cs → Unity/Assets/Scripts/Core/World/Module/Actor/IMHandler.cs

@@ -2,7 +2,7 @@
 
 namespace ET
 {
-    public interface IMActorHandler
+    public interface IMHandler
     {
         ETTask Handle(Entity entity, Address fromAddress, MessageObject actorMessage);
         Type GetRequestType();

+ 1 - 1
Unity/Assets/Scripts/Model/Share/Module/Message/IMHandler.cs.meta → Unity/Assets/Scripts/Core/World/Module/Actor/IMHandler.cs.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 5d9d71d94c994b64daecdede5f1a889c
+guid: ab1e035e3bb443e44b99e74a9fafbf86
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2

+ 21 - 21
Unity/Assets/Scripts/Core/World/Module/Actor/ActorMessageDispatcherComponent.cs → Unity/Assets/Scripts/Core/World/Module/Actor/MessageDispatcher.cs

@@ -3,16 +3,16 @@ using System.Collections.Generic;
 
 namespace ET
 {
-    public class ActorMessageDispatcherInfo
+    public class MessageDispatcherInfo
     {
         public SceneType SceneType { get; }
         
-        public IMActorHandler IMActorHandler { get; }
+        public IMHandler IMHandler { get; }
 
-        public ActorMessageDispatcherInfo(SceneType sceneType, IMActorHandler imActorHandler)
+        public MessageDispatcherInfo(SceneType sceneType, IMHandler imHandler)
         {
             this.SceneType = sceneType;
-            this.IMActorHandler = imActorHandler;
+            this.IMHandler = imHandler;
         }
     }
     
@@ -20,20 +20,20 @@ namespace ET
     /// Actor消息分发组件
     /// </summary>
     [Code]
-    public class ActorMessageDispatcherComponent: Singleton<ActorMessageDispatcherComponent>, ISingletonAwake
+    public class MessageDispatcher: Singleton<MessageDispatcher>, ISingletonAwake
     {
-        private readonly Dictionary<Type, List<ActorMessageDispatcherInfo>> ActorMessageHandlers = new();
+        private readonly Dictionary<Type, List<MessageDispatcherInfo>> messageHandlers = new();
 
         public void Awake()
         {
-            HashSet<Type> types = CodeTypes.Instance.GetTypes(typeof (ActorMessageHandlerAttribute));
+            HashSet<Type> types = CodeTypes.Instance.GetTypes(typeof (MessageHandlerAttribute));
             
             foreach (Type type in types)
             {
                 this.Register(type);
             }
             
-            HashSet<Type> types2 = CodeTypes.Instance.GetTypes(typeof (ActorMessageLocationHandlerAttribute));
+            HashSet<Type> types2 = CodeTypes.Instance.GetTypes(typeof (MessageLocationHandlerAttribute));
             
             foreach (Type type in types2)
             {
@@ -45,17 +45,17 @@ namespace ET
         {
             object obj = Activator.CreateInstance(type);
 
-            IMActorHandler imHandler = obj as IMActorHandler;
+            IMHandler imHandler = obj as IMHandler;
             if (imHandler == null)
             {
                 throw new Exception($"message handler not inherit IMActorHandler abstract class: {obj.GetType().FullName}");
             }
                 
-            object[] attrs = type.GetCustomAttributes(typeof(ActorMessageHandlerAttribute), true);
+            object[] attrs = type.GetCustomAttributes(typeof(MessageHandlerAttribute), true);
 
             foreach (object attr in attrs)
             {
-                ActorMessageHandlerAttribute actorMessageHandlerAttribute = attr as ActorMessageHandlerAttribute;
+                MessageHandlerAttribute messageHandlerAttribute = attr as MessageHandlerAttribute;
 
                 Type messageType = imHandler.GetRequestType();
 
@@ -69,38 +69,38 @@ namespace ET
                     }
                 }
 
-                ActorMessageDispatcherInfo actorMessageDispatcherInfo = new(actorMessageHandlerAttribute.SceneType, imHandler);
+                MessageDispatcherInfo messageDispatcherInfo = new(messageHandlerAttribute.SceneType, imHandler);
 
-                this.RegisterHandler(messageType, actorMessageDispatcherInfo);
+                this.RegisterHandler(messageType, messageDispatcherInfo);
             }
         }
         
-        private void RegisterHandler(Type type, ActorMessageDispatcherInfo handler)
+        private void RegisterHandler(Type type, MessageDispatcherInfo handler)
         {
-            if (!this.ActorMessageHandlers.ContainsKey(type))
+            if (!this.messageHandlers.ContainsKey(type))
             {
-                this.ActorMessageHandlers.Add(type, new List<ActorMessageDispatcherInfo>());
+                this.messageHandlers.Add(type, new List<MessageDispatcherInfo>());
             }
 
-            this.ActorMessageHandlers[type].Add(handler);
+            this.messageHandlers[type].Add(handler);
         }
 
         public async ETTask Handle(Entity entity, Address fromAddress, MessageObject message)
         {
-            List<ActorMessageDispatcherInfo> list;
-            if (!this.ActorMessageHandlers.TryGetValue(message.GetType(), out list))
+            List<MessageDispatcherInfo> list;
+            if (!this.messageHandlers.TryGetValue(message.GetType(), out list))
             {
                 throw new Exception($"not found message handler: {message} {entity.GetType().FullName}");
             }
 
             SceneType sceneType = entity.IScene.SceneType;
-            foreach (ActorMessageDispatcherInfo actorMessageDispatcherInfo in list)
+            foreach (MessageDispatcherInfo actorMessageDispatcherInfo in list)
             {
                 if (!actorMessageDispatcherInfo.SceneType.HasSameFlag(sceneType))
                 {
                     continue;
                 }
-                await actorMessageDispatcherInfo.IMActorHandler.Handle(entity, fromAddress, message);   
+                await actorMessageDispatcherInfo.IMHandler.Handle(entity, fromAddress, message);   
             }
         }
     }

+ 11 - 0
Unity/Assets/Scripts/Core/World/Module/Actor/MessageDispatcher.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: e502791ab03091f4b8bd9e6a3292dff2
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 0 - 0
Unity/Assets/Scripts/Model/Share/Module/Message/MessageHandlerAttribute.cs → Unity/Assets/Scripts/Core/World/Module/Actor/MessageHandlerAttribute.cs


+ 1 - 1
Unity/Assets/Scripts/Model/Share/Module/Message/MessageHandlerAttribute.cs.meta → Unity/Assets/Scripts/Core/World/Module/Actor/MessageHandlerAttribute.cs.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 61a55441f76423340b0da6e5c2af7c66
+guid: 12fa0cfba1ed6f540b1698d12bada3f1
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2

+ 11 - 0
Unity/Assets/Scripts/Core/World/Module/Actor/MessageLocationHandlerAttribute.cs

@@ -0,0 +1,11 @@
+using System;
+
+namespace ET
+{
+    public class MessageLocationHandlerAttribute: MessageHandlerAttribute
+    {
+        public MessageLocationHandlerAttribute(SceneType sceneType): base(sceneType)
+        {
+        }
+    }
+}

+ 11 - 0
Unity/Assets/Scripts/Core/World/Module/Actor/MessageLocationHandlerAttribute.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 38185e19d39ddf3469f0fe1f94c64970
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 11 - 11
Unity/Assets/Scripts/Core/World/Module/Actor/ActorMessageQueue.cs → Unity/Assets/Scripts/Core/World/Module/Actor/MessageQueue.cs

@@ -3,40 +3,40 @@ using System.Collections.Generic;
 
 namespace ET
 {
-    public struct ActorMessageInfo
+    public struct MessageInfo
     {
         public ActorId ActorId;
-        public IMessage MessageObject;
+        public MessageObject MessageObject;
     }
     
-    public class ActorMessageQueue: Singleton<ActorMessageQueue>, ISingletonAwake
+    public class MessageQueue: Singleton<MessageQueue>, ISingletonAwake
     {
-        private readonly ConcurrentDictionary<int, ConcurrentQueue<ActorMessageInfo>> messages = new();
+        private readonly ConcurrentDictionary<int, ConcurrentQueue<MessageInfo>> messages = new();
         
         public void Awake()
         {
         }
 
-        public void Send(ActorId actorId, IMessage messageObject)
+        public void Send(ActorId actorId, MessageObject messageObject)
         {
             this.Send(actorId.Address, actorId, messageObject);
         }
         
-        public void Reply(ActorId actorId, IMessage messageObject)
+        public void Reply(ActorId actorId, MessageObject messageObject)
         {
             this.Send(actorId.Address, actorId, messageObject);
         }
         
-        public void Send(Address fromAddress, ActorId actorId, IMessage messageObject)
+        public void Send(Address fromAddress, ActorId actorId, MessageObject messageObject)
         {
             if (!this.messages.TryGetValue(actorId.Address.Fiber, out var queue))
             {
                 return;
             }
-            queue.Enqueue(new ActorMessageInfo() {ActorId = new ActorId(fromAddress, actorId.InstanceId), MessageObject = messageObject});
+            queue.Enqueue(new MessageInfo() {ActorId = new ActorId(fromAddress, actorId.InstanceId), MessageObject = messageObject});
         }
         
-        public void Fetch(int fiberId, int count, List<ActorMessageInfo> list)
+        public void Fetch(int fiberId, int count, List<MessageInfo> list)
         {
             if (!this.messages.TryGetValue(fiberId, out var queue))
             {
@@ -45,7 +45,7 @@ namespace ET
 
             for (int i = 0; i < count; ++i)
             {
-                if (!queue.TryDequeue(out ActorMessageInfo message))
+                if (!queue.TryDequeue(out MessageInfo message))
                 {
                     break;
                 }
@@ -55,7 +55,7 @@ namespace ET
 
         public void AddQueue(int fiberId)
         {
-            var queue = new ConcurrentQueue<ActorMessageInfo>();
+            var queue = new ConcurrentQueue<MessageInfo>();
             this.messages[fiberId] = queue;
         }
         

+ 11 - 0
Unity/Assets/Scripts/Core/World/Module/Actor/MessageQueue.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 80c9b52af8d0e17439e39a3b28d32094
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 3 - 3
Unity/Assets/Scripts/Hotfix/Client/Demo/Main/ClientSenderCompnentSystem.cs

@@ -25,7 +25,7 @@
             self.fiberId = await FiberManager.Instance.Create(SchedulerType.ThreadPool, 0, SceneType.NetClient, "");
             self.netClientActorId = new ActorId(self.Fiber().Process, self.fiberId);
 
-            NetClient2Main_Login response = await self.Fiber().ActorInnerComponent.Call(self.netClientActorId, new Main2NetClient_Login() { Account = account, Password = password }) as NetClient2Main_Login;
+            NetClient2Main_Login response = await self.Fiber().MessageInnerSender.Call(self.netClientActorId, new Main2NetClient_Login() { Account = account, Password = password }) as NetClient2Main_Login;
             return response.PlayerId;
         }
 
@@ -33,14 +33,14 @@
         {
             A2NetClient_Message a2NetClientMessage = A2NetClient_Message.Create();
             a2NetClientMessage.MessageObject = message;
-            self.Fiber().ActorInnerComponent.Send(self.netClientActorId, a2NetClientMessage);
+            self.Fiber().MessageInnerSender.Send(self.netClientActorId, a2NetClientMessage);
         }
 
         public static async ETTask<IResponse> Call(this ClientSenderCompnent self, IRequest request, bool needException = true)
         {
             A2NetClient_Request a2NetClientRequest = A2NetClient_Request.Create();
             a2NetClientRequest.MessageObject = request;
-            A2NetClient_Response response = await self.Fiber().ActorInnerComponent.Call(self.netClientActorId, a2NetClientRequest, needException: needException) as A2NetClient_Response;
+            A2NetClient_Response response = await self.Fiber().MessageInnerSender.Call(self.netClientActorId, a2NetClientRequest, needException: needException) as A2NetClient_Response;
             return response.MessageObject;
         }
 

+ 2 - 2
Unity/Assets/Scripts/Hotfix/Client/Demo/Main/Move/M2C_PathfindingResultHandler.cs

@@ -1,7 +1,7 @@
 namespace ET.Client
 {
-	[ActorMessageHandler(SceneType.Demo)]
-	public class M2C_PathfindingResultHandler : ActorMessageHandler<Scene, M2C_PathfindingResult>
+	[MessageHandler(SceneType.Demo)]
+	public class M2C_PathfindingResultHandler : MessageHandler<Scene, M2C_PathfindingResult>
 	{
 		protected override async ETTask Run(Scene root, M2C_PathfindingResult message)
 		{

+ 2 - 2
Unity/Assets/Scripts/Hotfix/Client/Demo/Main/Move/M2C_StopHandler.cs

@@ -2,8 +2,8 @@
 
 namespace ET.Client
 {
-	[ActorMessageHandler(SceneType.Demo)]
-	public class M2C_StopHandler : ActorMessageHandler<Scene, M2C_Stop>
+	[MessageHandler(SceneType.Demo)]
+	public class M2C_StopHandler : MessageHandler<Scene, M2C_Stop>
 	{
 		protected override async ETTask Run(Scene root, M2C_Stop message)
 		{

+ 2 - 2
Unity/Assets/Scripts/Hotfix/Client/Demo/Main/NetClient2Main_SessionDisposeHandler.cs

@@ -1,7 +1,7 @@
 namespace ET.Client
 {
-    [ActorMessageHandler(SceneType.All)]
-    public class NetClient2Main_SessionDisposeHandler: ActorMessageHandler<Scene, NetClient2Main_SessionDispose>
+    [MessageHandler(SceneType.All)]
+    public class NetClient2Main_SessionDisposeHandler: MessageHandler<Scene, NetClient2Main_SessionDispose>
     {
         protected override async ETTask Run(Scene entity, NetClient2Main_SessionDispose message)
         {

+ 2 - 2
Unity/Assets/Scripts/Hotfix/Client/Demo/Main/Scene/M2C_StartSceneChangeHandler.cs

@@ -1,7 +1,7 @@
 namespace ET.Client
 {
-	[ActorMessageHandler(SceneType.Demo)]
-	public class M2C_StartSceneChangeHandler : ActorMessageHandler<Scene, M2C_StartSceneChange>
+	[MessageHandler(SceneType.Demo)]
+	public class M2C_StartSceneChangeHandler : MessageHandler<Scene, M2C_StartSceneChange>
 	{
 		protected override async ETTask Run(Scene root, M2C_StartSceneChange message)
 		{

+ 2 - 2
Unity/Assets/Scripts/Hotfix/Client/Demo/Main/Unit/M2C_CreateMyUnitHandler.cs

@@ -1,7 +1,7 @@
 namespace ET.Client
 {
-	[ActorMessageHandler(SceneType.Demo)]
-	public class M2C_CreateMyUnitHandler: ActorMessageHandler<Scene, M2C_CreateMyUnit>
+	[MessageHandler(SceneType.Demo)]
+	public class M2C_CreateMyUnitHandler: MessageHandler<Scene, M2C_CreateMyUnit>
 	{
 		protected override async ETTask Run(Scene root, M2C_CreateMyUnit message)
 		{

+ 2 - 2
Unity/Assets/Scripts/Hotfix/Client/Demo/Main/Unit/M2C_CreateUnitsHandler.cs

@@ -1,7 +1,7 @@
 namespace ET.Client
 {
-	[ActorMessageHandler(SceneType.Demo)]
-	public class M2C_CreateUnitsHandler: ActorMessageHandler<Scene, M2C_CreateUnits>
+	[MessageHandler(SceneType.Demo)]
+	public class M2C_CreateUnitsHandler: MessageHandler<Scene, M2C_CreateUnits>
 	{
 		protected override async ETTask Run(Scene root, M2C_CreateUnits message)
 		{

+ 2 - 2
Unity/Assets/Scripts/Hotfix/Client/Demo/Main/Unit/M2C_RemoveUnitsHandler.cs

@@ -1,7 +1,7 @@
 namespace ET.Client
 {
-	[ActorMessageHandler(SceneType.Demo)]
-	public class M2C_RemoveUnitsHandler: ActorMessageHandler<Scene, M2C_RemoveUnits>
+	[MessageHandler(SceneType.Demo)]
+	public class M2C_RemoveUnitsHandler: MessageHandler<Scene, M2C_RemoveUnits>
 	{
 		protected override async ETTask Run(Scene root, M2C_RemoveUnits message)
 		{	

+ 2 - 2
Unity/Assets/Scripts/Hotfix/Client/Demo/NetClient/A2NetClient_MessageHandler.cs

@@ -1,7 +1,7 @@
 namespace ET.Client
 {
-    [ActorMessageHandler(SceneType.NetClient)]
-    public class A2NetClient_MessageHandler: ActorMessageHandler<Scene, A2NetClient_Message>
+    [MessageHandler(SceneType.NetClient)]
+    public class A2NetClient_MessageHandler: MessageHandler<Scene, A2NetClient_Message>
     {
         protected override async ETTask Run(Scene root, A2NetClient_Message message)
         {

+ 2 - 2
Unity/Assets/Scripts/Hotfix/Client/Demo/NetClient/A2NetClient_RequestHandler.cs

@@ -1,7 +1,7 @@
 namespace ET.Client
 {
-    [ActorMessageHandler(SceneType.NetClient)]
-    public class A2NetClient_RequestHandler: ActorMessageHandler<Scene, A2NetClient_Request, A2NetClient_Response>
+    [MessageHandler(SceneType.NetClient)]
+    public class A2NetClient_RequestHandler: MessageHandler<Scene, A2NetClient_Request, A2NetClient_Response>
     {
         protected override async ETTask Run(Scene root, A2NetClient_Request request, A2NetClient_Response response)
         {

+ 1 - 1
Unity/Assets/Scripts/Hotfix/Client/Demo/NetClient/FiberInit_NetClient.cs

@@ -9,7 +9,7 @@
             root.AddComponent<MailBoxComponent, MailBoxType>(MailBoxType.UnOrderedMessage);
             root.AddComponent<TimerComponent>();
             root.AddComponent<CoroutineLockComponent>();
-            root.AddComponent<ActorInnerComponent>();
+            root.AddComponent<MessageInnerSender>();
             await ETTask.CompletedTask;
         }
     }

+ 2 - 2
Unity/Assets/Scripts/Hotfix/Client/Demo/NetClient/Main2NetClient_LoginHandler.cs

@@ -3,8 +3,8 @@ using System.Net.Sockets;
 
 namespace ET.Client
 {
-    [ActorMessageHandler(SceneType.NetClient)]
-    public class Main2NetClient_LoginHandler: ActorMessageHandler<Scene, Main2NetClient_Login, NetClient2Main_Login>
+    [MessageHandler(SceneType.NetClient)]
+    public class Main2NetClient_LoginHandler: MessageHandler<Scene, Main2NetClient_Login, NetClient2Main_Login>
     {
         protected override async ETTask Run(Scene root, Main2NetClient_Login request, NetClient2Main_Login response)
         {

+ 2 - 2
Unity/Assets/Scripts/Hotfix/Client/LockStep/G2C_ChangeSceneHandler.cs

@@ -1,7 +1,7 @@
 namespace ET.Client
 {
-    [ActorMessageHandler(SceneType.LockStep)]
-    public class Match2G_NotifyMatchSuccessHandler: ActorMessageHandler<Scene, Match2G_NotifyMatchSuccess>
+    [MessageHandler(SceneType.LockStep)]
+    public class Match2G_NotifyMatchSuccessHandler: MessageHandler<Scene, Match2G_NotifyMatchSuccess>
     {
         protected override async ETTask Run(Scene root, Match2G_NotifyMatchSuccess message)
         {

+ 2 - 2
Unity/Assets/Scripts/Hotfix/Client/LockStep/G2C_ReconnectHandler.cs

@@ -1,7 +1,7 @@
 namespace ET.Client
 {
-    [ActorMessageHandler(SceneType.LockStep)]
-    public class G2C_ReconnectHandler: ActorMessageHandler<Scene, G2C_Reconnect>
+    [MessageHandler(SceneType.LockStep)]
+    public class G2C_ReconnectHandler: MessageHandler<Scene, G2C_Reconnect>
     {
         protected override async ETTask Run(Scene root, G2C_Reconnect message)
         {

+ 2 - 2
Unity/Assets/Scripts/Hotfix/Client/LockStep/OneFrameInputsHandler.cs

@@ -2,8 +2,8 @@ using System;
 
 namespace ET.Client
 {
-    [ActorMessageHandler(SceneType.LockStep)]
-    public class OneFrameInputsHandler: ActorMessageHandler<Scene, OneFrameInputs>
+    [MessageHandler(SceneType.LockStep)]
+    public class OneFrameInputsHandler: MessageHandler<Scene, OneFrameInputs>
     {
         protected override async ETTask Run(Scene root, OneFrameInputs input)
         {

+ 2 - 2
Unity/Assets/Scripts/Hotfix/Client/LockStep/Room2C_AdjustUpdateTimeHandler.cs

@@ -1,7 +1,7 @@
 namespace ET.Client
 {
-    [ActorMessageHandler(SceneType.LockStep)]
-    public class Room2C_AdjustUpdateTimeHandler: ActorMessageHandler<Scene, Room2C_AdjustUpdateTime>
+    [MessageHandler(SceneType.LockStep)]
+    public class Room2C_AdjustUpdateTimeHandler: MessageHandler<Scene, Room2C_AdjustUpdateTime>
     {
         protected override async ETTask Run(Scene root, Room2C_AdjustUpdateTime message)
         {

+ 2 - 2
Unity/Assets/Scripts/Hotfix/Client/LockStep/Room2C_CheckHashFailHandler.cs

@@ -1,7 +1,7 @@
 namespace ET.Client
 {
-    [ActorMessageHandler(SceneType.LockStep)]
-    public class Room2C_CheckHashFailHandler: ActorMessageHandler<Scene, Room2C_CheckHashFail>
+    [MessageHandler(SceneType.LockStep)]
+    public class Room2C_CheckHashFailHandler: MessageHandler<Scene, Room2C_CheckHashFail>
     {
         protected override async ETTask Run(Scene root, Room2C_CheckHashFail message)
         {

+ 2 - 2
Unity/Assets/Scripts/Hotfix/Client/LockStep/Room2C_EnterMapHandler.cs

@@ -1,7 +1,7 @@
 namespace ET.Client
 {
-    [ActorMessageHandler(SceneType.LockStep)]
-    public class Room2C_EnterMapHandler: ActorMessageHandler<Scene, Room2C_Start>
+    [MessageHandler(SceneType.LockStep)]
+    public class Room2C_EnterMapHandler: MessageHandler<Scene, Room2C_Start>
     {
         protected override async ETTask Run(Scene root, Room2C_Start message)
         {

+ 1 - 1
Unity/Assets/Scripts/Hotfix/Client/Module/Message/ClientSessionErrorComponentSystem.cs

@@ -19,7 +19,7 @@
             }
             NetClient2Main_SessionDispose message = NetClient2Main_SessionDispose.Create();
             message.Error = self.GetParent<Session>().Error;
-            fiber.ActorInnerComponent.Send(new ActorId(fiber.Process, ConstFiberId.Main), message);
+            fiber.MessageInnerSender.Send(new ActorId(fiber.Process, ConstFiberId.Main), message);
         }
     }
 }

+ 2 - 2
Unity/Assets/Scripts/Hotfix/Client/Module/Message/NetClientComponentSystem.cs

@@ -48,13 +48,13 @@ namespace ET.Client
                 }
                 case ISessionMessage:
                 {
-                    MessageDispatcherComponent.Instance.Handle(session, message);
+                    MessageSessionDispatcher.Instance.Handle(session, message);
                     break;
                 }
                 case IMessage iActorMessage:
                 {
                     // 扔到Main纤程队列中
-                    self.Fiber().ActorInnerComponent.Send(new ActorId(self.Fiber().Process, ConstFiberId.Main), iActorMessage);
+                    self.Fiber().MessageInnerSender.Send(new ActorId(self.Fiber().Process, ConstFiberId.Main), iActorMessage);
                     break;
                 }
                 default:

+ 2 - 2
Unity/Assets/Scripts/Hotfix/Server/Benchmark/C2G_BenchmarkHandler.cs

@@ -2,8 +2,8 @@
 
 namespace ET.Server
 {
-    [MessageHandler(SceneType.BenchmarkServer)]
-    public class C2G_BenchmarkHandler: MessageHandler<C2G_Benchmark, G2C_Benchmark>
+    [MessageSessionHandler(SceneType.BenchmarkServer)]
+    public class C2G_BenchmarkHandler: MessageSessionHandler<C2G_Benchmark, G2C_Benchmark>
     {
         protected override async ETTask Run(Session session, C2G_Benchmark request, G2C_Benchmark response)
         {

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

@@ -1,7 +1,7 @@
 namespace ET.Server
 {
-	[MessageHandler(SceneType.Gate)]
-	public class C2G_EnterMapHandler : MessageHandler<C2G_EnterMap, G2C_EnterMap>
+	[MessageSessionHandler(SceneType.Gate)]
+	public class C2G_EnterMapHandler : MessageSessionHandler<C2G_EnterMap, G2C_EnterMap>
 	{
 		protected override async ETTask Run(Session session, C2G_EnterMap request, G2C_EnterMap response)
 		{

+ 3 - 3
Unity/Assets/Scripts/Hotfix/Server/Demo/Gate/C2G_LoginGateHandler.cs

@@ -3,8 +3,8 @@
 
 namespace ET.Server
 {
-    [MessageHandler(SceneType.Gate)]
-    public class C2G_LoginGateHandler : MessageHandler<C2G_LoginGate, G2C_LoginGate>
+    [MessageSessionHandler(SceneType.Gate)]
+    public class C2G_LoginGateHandler : MessageSessionHandler<C2G_LoginGate, G2C_LoginGate>
     {
         protected override async ETTask Run(Session session, C2G_LoginGate request, G2C_LoginGate response)
         {
@@ -59,7 +59,7 @@ namespace ET.Server
             Fiber fiber = player.Fiber();
             await fiber.WaitFrameFinish();
             
-            using Room2G_Reconnect room2GateReconnect = await fiber.Root.GetComponent<ActorSenderComponent>().Call(
+            using Room2G_Reconnect room2GateReconnect = await fiber.Root.GetComponent<MessageSender>().Call(
                 player.GetComponent<PlayerRoomComponent>().RoomActorId,
                 new G2Room_Reconnect() { PlayerId = player.Id }) as Room2G_Reconnect;
             G2C_Reconnect g2CReconnect = new() { StartTime = room2GateReconnect.StartTime, Frame = room2GateReconnect.Frame };

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

@@ -3,8 +3,8 @@
 
 namespace ET.Server
 {
-	[MessageHandler(SceneType.Gate)]
-	public class C2G_PingHandler : MessageHandler<C2G_Ping, G2C_Ping>
+	[MessageSessionHandler(SceneType.Gate)]
+	public class C2G_PingHandler : MessageSessionHandler<C2G_Ping, G2C_Ping>
 	{
 		protected override async ETTask Run(Session session, C2G_Ping request, G2C_Ping response)
 		{

+ 3 - 3
Unity/Assets/Scripts/Hotfix/Server/Demo/Gate/FiberInit_Gate.cs

@@ -11,12 +11,12 @@ namespace ET.Server
             root.AddComponent<MailBoxComponent, MailBoxType>(MailBoxType.UnOrderedMessage);
             root.AddComponent<TimerComponent>();
             root.AddComponent<CoroutineLockComponent>();
-            root.AddComponent<ActorInnerComponent>();
-            root.AddComponent<ActorSenderComponent>();
+            root.AddComponent<MessageInnerSender>();
+            root.AddComponent<MessageSender>();
             root.AddComponent<PlayerComponent>();
             root.AddComponent<GateSessionKeyComponent>();
             root.AddComponent<LocationProxyComponent>();
-            root.AddComponent<ActorLocationSenderComponent>();
+            root.AddComponent<MessageLocationSenderComponent>();
 
             StartSceneConfig startSceneConfig = StartSceneConfigCategory.Instance.Get((int)root.Id);
             root.AddComponent<NetServerComponent, IPEndPoint>(startSceneConfig.InnerIPPort);

+ 6 - 6
Unity/Assets/Scripts/Hotfix/Server/Demo/Gate/NetServerComponentOnReadEvent.cs

@@ -20,7 +20,7 @@ namespace ET.Server
             {
                 case ISessionMessage:
                 {
-                    MessageDispatcherComponent.Instance.Handle(session, message);
+                    MessageSessionDispatcher.Instance.Handle(session, message);
                     break;
                 }
                 case FrameMessage frameMessage:
@@ -28,21 +28,21 @@ namespace ET.Server
                     Player player = session.GetComponent<SessionPlayerComponent>().Player;
                     ActorId roomActorId = player.GetComponent<PlayerRoomComponent>().RoomActorId;
                     frameMessage.PlayerId = player.Id;
-                    root.GetComponent<ActorSenderComponent>().Send(roomActorId, frameMessage);
+                    root.GetComponent<MessageSender>().Send(roomActorId, frameMessage);
                     break;
                 }
-                case IRoom actorRoom:
+                case IRoomMessage actorRoom:
                 {
                     Player player = session.GetComponent<SessionPlayerComponent>().Player;
                     ActorId roomActorId = player.GetComponent<PlayerRoomComponent>().RoomActorId;
                     actorRoom.PlayerId = player.Id;
-                    root.GetComponent<ActorSenderComponent>().Send(roomActorId, actorRoom);
+                    root.GetComponent<MessageSender>().Send(roomActorId, actorRoom);
                     break;
                 }
                 case ILocationMessage actorLocationMessage:
                 {
                     long unitId = session.GetComponent<SessionPlayerComponent>().Player.Id;
-                    root.GetComponent<ActorLocationSenderComponent>().Get(LocationType.Unit).Send(unitId, actorLocationMessage);
+                    root.GetComponent<MessageLocationSenderComponent>().Get(LocationType.Unit).Send(unitId, actorLocationMessage);
                     break;
                 }
                 case ILocationRequest actorLocationRequest: // gate session收到actor rpc消息,先向actor 发送rpc请求,再将请求结果返回客户端
@@ -50,7 +50,7 @@ namespace ET.Server
                     long unitId = session.GetComponent<SessionPlayerComponent>().Player.Id;
                     int rpcId = actorLocationRequest.RpcId; // 这里要保存客户端的rpcId
                     long instanceId = session.InstanceId;
-                    IResponse iResponse = await root.GetComponent<ActorLocationSenderComponent>().Get(LocationType.Unit).Call(unitId, actorLocationRequest);
+                    IResponse iResponse = await root.GetComponent<MessageLocationSenderComponent>().Get(LocationType.Unit).Call(unitId, actorLocationRequest);
                     iResponse.RpcId = rpcId;
                     // session可能已经断开了,所以这里需要判断
                     if (session.InstanceId == instanceId)

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

@@ -3,8 +3,8 @@
 
 namespace ET.Server
 {
-	[ActorMessageHandler(SceneType.Gate)]
-	public class R2G_GetLoginKeyHandler : ActorMessageHandler<Scene, R2G_GetLoginKey, G2R_GetLoginKey>
+	[MessageHandler(SceneType.Gate)]
+	public class R2G_GetLoginKeyHandler : MessageHandler<Scene, R2G_GetLoginKey, G2R_GetLoginKey>
 	{
 		protected override async ETTask Run(Scene scene, R2G_GetLoginKey request, G2R_GetLoginKey response)
 		{

+ 1 - 1
Unity/Assets/Scripts/Hotfix/Server/Demo/Gate/SessionPlayerComponentSystem.cs

@@ -12,7 +12,7 @@
                 return;
             }
             // 发送断线消息
-            root.GetComponent<ActorLocationSenderComponent>().Get(LocationType.Unit).Send(self.Player.Id, new G2M_SessionDisconnect());
+            root.GetComponent<MessageLocationSenderComponent>().Get(LocationType.Unit).Send(self.Player.Id, new G2M_SessionDisconnect());
         }
         
         [EntitySystem]

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

@@ -2,8 +2,8 @@
 
 namespace ET.Server
 {
-	[ActorMessageLocationHandler(SceneType.Map)]
-	public class C2M_TestRobotCaseHandler : ActorMessageLocationHandler<Unit, C2M_TestRobotCase, M2C_TestRobotCase>
+	[MessageLocationHandler(SceneType.Map)]
+	public class C2M_TestRobotCaseHandler : MessageLocationHandler<Unit, C2M_TestRobotCase, M2C_TestRobotCase>
 	{
 		protected override async ETTask Run(Unit unit, C2M_TestRobotCase request, M2C_TestRobotCase response)
 		{

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

@@ -2,8 +2,8 @@
 
 namespace ET.Server
 {
-	[ActorMessageLocationHandler(SceneType.Map)]
-	public class G2M_SessionDisconnectHandler : ActorMessageLocationHandler<Unit, G2M_SessionDisconnect>
+	[MessageLocationHandler(SceneType.Map)]
+	public class G2M_SessionDisconnectHandler : MessageLocationHandler<Unit, G2M_SessionDisconnect>
 	{
 		protected override async ETTask Run(Unit unit, G2M_SessionDisconnect message)
 		{

+ 2 - 2
Unity/Assets/Scripts/Hotfix/Server/Demo/Map/Move/C2M_PathfindingResultHandler.cs

@@ -1,8 +1,8 @@
 
 namespace ET.Server
 {
-	[ActorMessageLocationHandler(SceneType.Map)]
-	public class C2M_PathfindingResultHandler : ActorMessageLocationHandler<Unit, C2M_PathfindingResult>
+	[MessageLocationHandler(SceneType.Map)]
+	public class C2M_PathfindingResultHandler : MessageLocationHandler<Unit, C2M_PathfindingResult>
 	{
 		protected override async ETTask Run(Unit unit, C2M_PathfindingResult message)
 		{

+ 2 - 2
Unity/Assets/Scripts/Hotfix/Server/Demo/Map/Move/C2M_StopHandler.cs

@@ -1,7 +1,7 @@
 namespace ET.Server
 {
-    [ActorMessageLocationHandler(SceneType.Map)]
-    public class C2M_StopHandler: ActorMessageLocationHandler<Unit, C2M_Stop>
+    [MessageLocationHandler(SceneType.Map)]
+    public class C2M_StopHandler: MessageLocationHandler<Unit, C2M_Stop>
     {
         protected override async ETTask Run(Unit unit, C2M_Stop message)
         {

+ 2 - 2
Unity/Assets/Scripts/Hotfix/Server/Demo/Map/Transfer/C2M_TransferMapHandler.cs

@@ -2,8 +2,8 @@
 
 namespace ET.Server
 {
-	[ActorMessageLocationHandler(SceneType.Map)]
-	public class C2M_TransferMapHandler : ActorMessageLocationHandler<Unit, C2M_TransferMap, M2C_TransferMap>
+	[MessageLocationHandler(SceneType.Map)]
+	public class C2M_TransferMapHandler : MessageLocationHandler<Unit, C2M_TransferMap, M2C_TransferMap>
 	{
 		protected override async ETTask Run(Unit unit, C2M_TransferMap request, M2C_TransferMap response)
 		{

+ 2 - 2
Unity/Assets/Scripts/Hotfix/Server/Demo/Map/Transfer/M2M_UnitTransferRequestHandler.cs

@@ -3,8 +3,8 @@ using Unity.Mathematics;
 
 namespace ET.Server
 {
-    [ActorMessageHandler(SceneType.Map)]
-    public class M2M_UnitTransferRequestHandler: ActorMessageHandler<Scene, M2M_UnitTransferRequest, M2M_UnitTransferResponse>
+    [MessageHandler(SceneType.Map)]
+    public class M2M_UnitTransferRequestHandler: MessageHandler<Scene, M2M_UnitTransferRequest, M2M_UnitTransferResponse>
     {
         protected override async ETTask Run(Scene scene, M2M_UnitTransferRequest request, M2M_UnitTransferResponse response)
         {

+ 1 - 1
Unity/Assets/Scripts/Hotfix/Server/Demo/Map/Transfer/TransferHelper.cs

@@ -33,7 +33,7 @@ namespace ET.Server
             unit.Dispose();
             
             await root.GetComponent<LocationProxyComponent>().Lock(LocationType.Unit, unitId, request.OldActorId);
-            await root.GetComponent<ActorSenderComponent>().Call(sceneInstanceId, request);
+            await root.GetComponent<MessageSender>().Call(sceneInstanceId, request);
         }
     }
 }

+ 5 - 5
Unity/Assets/Scripts/Hotfix/Server/Demo/MessageHelper.cs

@@ -26,24 +26,24 @@ namespace ET.Server
             (message as MessageObject).IsFromPool = false;
             Dictionary<long, AOIEntity> dict = unit.GetBeSeePlayers();
             // 网络底层做了优化,同一个消息不会多次序列化
-            ActorLocationSenderOneType oneTypeLocationType = unit.Root().GetComponent<ActorLocationSenderComponent>().Get(LocationType.GateSession);
+            MessageLocationSenderOneType oneTypeMessageLocationType = unit.Root().GetComponent<MessageLocationSenderComponent>().Get(LocationType.GateSession);
             foreach (AOIEntity u in dict.Values)
             {
-                oneTypeLocationType.Send(u.Unit.Id, message);
+                oneTypeMessageLocationType.Send(u.Unit.Id, message);
             }
         }
         
         public static void SendToClient(Unit unit, IMessage message)
         {
-            unit.Root().GetComponent<ActorLocationSenderComponent>().Get(LocationType.GateSession).Send(unit.Id, message);
+            unit.Root().GetComponent<MessageLocationSenderComponent>().Get(LocationType.GateSession).Send(unit.Id, message);
         }
         
         /// <summary>
         /// 发送协议给Actor
         /// </summary>
-        public static void SendActor(Scene root, ActorId actorId, IMessage message)
+        public static void Send(Scene root, ActorId actorId, IMessage message)
         {
-            root.GetComponent<ActorSenderComponent>().Send(actorId, message);
+            root.GetComponent<MessageSender>().Send(actorId, message);
         }
     }
 }

+ 3 - 3
Unity/Assets/Scripts/Hotfix/Server/Demo/Realm/C2R_LoginHandler.cs

@@ -4,8 +4,8 @@ using System.Net;
 
 namespace ET.Server
 {
-	[MessageHandler(SceneType.Realm)]
-	public class C2R_LoginHandler : MessageHandler<C2R_Login, R2C_Login>
+	[MessageSessionHandler(SceneType.Realm)]
+	public class C2R_LoginHandler : MessageSessionHandler<C2R_Login, R2C_Login>
 	{
 		protected override async ETTask Run(Session session, C2R_Login request, R2C_Login response)
 		{
@@ -14,7 +14,7 @@ namespace ET.Server
 			Log.Debug($"gate address: {config}");
 			
 			// 向gate请求一个key,客户端可以拿着这个key连接gate
-			G2R_GetLoginKey g2RGetLoginKey = (G2R_GetLoginKey) await session.Fiber().Root.GetComponent<ActorSenderComponent>().Call(
+			G2R_GetLoginKey g2RGetLoginKey = (G2R_GetLoginKey) await session.Fiber().Root.GetComponent<MessageSender>().Call(
 				config.ActorId, new R2G_GetLoginKey() {Account = request.Account});
 
 			response.Address = config.InnerIPPort.ToString();

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

@@ -11,8 +11,8 @@ namespace ET.Server
             root.AddComponent<MailBoxComponent, MailBoxType>(MailBoxType.UnOrderedMessage);
             root.AddComponent<TimerComponent>();
             root.AddComponent<CoroutineLockComponent>();
-            root.AddComponent<ActorInnerComponent>();
-            root.AddComponent<ActorSenderComponent>();
+            root.AddComponent<MessageInnerSender>();
+            root.AddComponent<MessageSender>();
             StartSceneConfig startSceneConfig = StartSceneConfigCategory.Instance.Get(root.Fiber.Id);
             root.AddComponent<NetServerComponent, IPEndPoint>(startSceneConfig.InnerIPPort);
 

+ 3 - 3
Unity/Assets/Scripts/Hotfix/Server/LockStep/Gate/C2G_MatchHandler.cs

@@ -1,7 +1,7 @@
 namespace ET.Server
 {
-	[MessageHandler(SceneType.Gate)]
-	public class C2G_MatchHandler : MessageHandler<C2G_Match, G2C_Match>
+	[MessageSessionHandler(SceneType.Gate)]
+	public class C2G_MatchHandler : MessageSessionHandler<C2G_Match, G2C_Match>
 	{
 		protected override async ETTask Run(Session session, C2G_Match request, G2C_Match response)
 		{
@@ -9,7 +9,7 @@
 
 			StartSceneConfig startSceneConfig = StartSceneConfigCategory.Instance.Match;
 
-			await session.Root().GetComponent<ActorSenderComponent>().Call(startSceneConfig.ActorId,
+			await session.Root().GetComponent<MessageSender>().Call(startSceneConfig.ActorId,
 				new G2Match_Match() { Id = player.Id });
 		}
 	}

+ 2 - 2
Unity/Assets/Scripts/Hotfix/Server/LockStep/Gate/Match2G_NotifyMatchSuccessHandler.cs

@@ -3,8 +3,8 @@
 
 namespace ET.Server
 {
-	[ActorMessageHandler(SceneType.Gate)]
-	public class Match2G_NotifyMatchSuccessHandler : ActorMessageHandler<Player, Match2G_NotifyMatchSuccess>
+	[MessageHandler(SceneType.Gate)]
+	public class Match2G_NotifyMatchSuccessHandler : MessageHandler<Player, Match2G_NotifyMatchSuccess>
 	{
 		protected override async ETTask Run(Player player, Match2G_NotifyMatchSuccess message)
 		{

+ 2 - 2
Unity/Assets/Scripts/Hotfix/Server/LockStep/Map/C2Room_ChangeSceneFinishHandler.cs

@@ -3,9 +3,9 @@ using TrueSync;
 
 namespace ET.Server
 {
-    [ActorMessageHandler(SceneType.RoomRoot)]
+    [MessageHandler(SceneType.RoomRoot)]
     [FriendOf(typeof (RoomServerComponent))]
-    public class C2Room_ChangeSceneFinishHandler: ActorMessageHandler<Scene, C2Room_ChangeSceneFinish>
+    public class C2Room_ChangeSceneFinishHandler: MessageHandler<Scene, C2Room_ChangeSceneFinish>
     {
         protected override async ETTask Run(Scene root, C2Room_ChangeSceneFinish message)
         {

+ 3 - 3
Unity/Assets/Scripts/Hotfix/Server/LockStep/Map/FiberInit_Map.cs

@@ -11,13 +11,13 @@ namespace ET.Server
             root.AddComponent<MailBoxComponent, MailBoxType>(MailBoxType.UnOrderedMessage);
             root.AddComponent<TimerComponent>();
             root.AddComponent<CoroutineLockComponent>();
-            root.AddComponent<ActorInnerComponent>();
-            root.AddComponent<ActorSenderComponent>();
+            root.AddComponent<MessageInnerSender>();
+            root.AddComponent<MessageSender>();
             root.AddComponent<UnitComponent>();
             root.AddComponent<AOIManagerComponent>();
             root.AddComponent<RoomManagerComponent>();
             root.AddComponent<LocationProxyComponent>();
-            root.AddComponent<ActorLocationSenderComponent>();
+            root.AddComponent<MessageLocationSenderComponent>();
 
             await ETTask.CompletedTask;
         }

+ 3 - 3
Unity/Assets/Scripts/Hotfix/Server/LockStep/Map/FrameMessageHandler.cs

@@ -3,8 +3,8 @@ using System.Collections.Generic;
 
 namespace ET.Server
 {
-    [ActorMessageHandler(SceneType.RoomRoot)]
-    public class FrameMessageHandler: ActorMessageHandler<Scene, FrameMessage>
+    [MessageHandler(SceneType.RoomRoot)]
+    public class FrameMessageHandler: MessageHandler<Scene, FrameMessage>
     {
         protected override async ETTask Run(Scene root, FrameMessage message)
         {
@@ -16,7 +16,7 @@ namespace ET.Server
                 long nowFrameTime = room.FixedTimeCounter.FrameTime(message.Frame);
                 int diffTime = (int)(nowFrameTime - TimeInfo.Instance.ServerFrameTime());
 
-                room.Root().GetComponent<ActorLocationSenderComponent>().Get(LocationType.GateSession).Send(message.PlayerId, new Room2C_AdjustUpdateTime() {DiffTime = diffTime});
+                room.Root().GetComponent<MessageLocationSenderComponent>().Get(LocationType.GateSession).Send(message.PlayerId, new Room2C_AdjustUpdateTime() {DiffTime = diffTime});
             }
 
             if (message.Frame < room.AuthorityFrame)  // 小于AuthorityFrame,丢弃

+ 3 - 3
Unity/Assets/Scripts/Hotfix/Server/LockStep/Map/Match2Map_GetRoomHandler.cs

@@ -3,8 +3,8 @@ using System.Collections.Generic;
 
 namespace ET.Server
 {
-	[ActorMessageHandler(SceneType.Map)]
-	public class Match2Map_GetRoomHandler : ActorMessageHandler<Scene, Match2Map_GetRoom, Map2Match_GetRoom>
+	[MessageHandler(SceneType.Map)]
+	public class Match2Map_GetRoomHandler : MessageHandler<Scene, Match2Map_GetRoom, Map2Match_GetRoom>
 	{
 		protected override async ETTask Run(Scene root, Match2Map_GetRoom request, Map2Match_GetRoom response)
 		{
@@ -17,7 +17,7 @@ namespace ET.Server
 			// 发送消息给房间纤程,初始化
 			RoomManager2Room_Init roomManager2RoomInit = RoomManager2Room_Init.Create();
 			roomManager2RoomInit.PlayerIds.AddRange(request.PlayerIds);
-			await root.GetComponent<ActorSenderComponent>().Call(roomRootActorId, roomManager2RoomInit);
+			await root.GetComponent<MessageSender>().Call(roomRootActorId, roomManager2RoomInit);
 			
 			response.ActorId = roomRootActorId;
 			await ETTask.CompletedTask;

+ 2 - 2
Unity/Assets/Scripts/Hotfix/Server/LockStep/Map/RoomMessageHelper.cs

@@ -10,7 +10,7 @@ namespace ET.Server
             
             RoomServerComponent roomServerComponent = room.GetComponent<RoomServerComponent>();
 
-            ActorLocationSenderComponent actorLocationSenderComponent = room.Root().GetComponent<ActorLocationSenderComponent>();
+            MessageLocationSenderComponent messageLocationSenderComponent = room.Root().GetComponent<MessageLocationSenderComponent>();
             foreach (var kv in roomServerComponent.Children)
             {
                 RoomPlayer roomPlayer = kv.Value as RoomPlayer;
@@ -20,7 +20,7 @@ namespace ET.Server
                     continue;
                 }
                 
-                actorLocationSenderComponent.Get(LocationType.GateSession).Send(roomPlayer.Id, message);
+                messageLocationSenderComponent.Get(LocationType.GateSession).Send(roomPlayer.Id, message);
             }
         }
     }

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

@@ -11,11 +11,11 @@ namespace ET.Server
             root.AddComponent<MailBoxComponent, MailBoxType>(MailBoxType.UnOrderedMessage);
             root.AddComponent<TimerComponent>();
             root.AddComponent<CoroutineLockComponent>();
-            root.AddComponent<ActorInnerComponent>();
-            root.AddComponent<ActorSenderComponent>();
+            root.AddComponent<MessageInnerSender>();
+            root.AddComponent<MessageSender>();
             root.AddComponent<MatchComponent>();
             root.AddComponent<LocationProxyComponent>();
-            root.AddComponent<ActorLocationSenderComponent>();
+            root.AddComponent<MessageLocationSenderComponent>();
 
             await ETTask.CompletedTask;
         }

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

@@ -3,8 +3,8 @@
 
 namespace ET.Server
 {
-	[ActorMessageHandler(SceneType.Match)]
-	public class G2Match_MatchHandler : ActorMessageHandler<Scene, G2Match_Match, Match2G_Match>
+	[MessageHandler(SceneType.Match)]
+	public class G2Match_MatchHandler : MessageHandler<Scene, G2Match_Match, Match2G_Match>
 	{
 		protected override async ETTask Run(Scene scene, G2Match_Match request, Match2G_Match response)
 		{

+ 3 - 3
Unity/Assets/Scripts/Hotfix/Server/LockStep/Match/MatchComponentSystem.cs

@@ -32,15 +32,15 @@ namespace ET.Server
             self.waitMatchPlayers.Clear();
 
             Scene root = self.Root();
-            Map2Match_GetRoom map2MatchGetRoom = await root.GetComponent<ActorSenderComponent>().Call(
+            Map2Match_GetRoom map2MatchGetRoom = await root.GetComponent<MessageSender>().Call(
                 startSceneConfig.ActorId, match2MapGetRoom) as Map2Match_GetRoom;
 
             Match2G_NotifyMatchSuccess match2GNotifyMatchSuccess = new() { ActorId = map2MatchGetRoom.ActorId };
-            ActorLocationSenderComponent actorLocationSenderComponent = root.GetComponent<ActorLocationSenderComponent>();
+            MessageLocationSenderComponent messageLocationSenderComponent = root.GetComponent<MessageLocationSenderComponent>();
             
             foreach (long id in match2MapGetRoom.PlayerIds) // 这里发送消息线程不会修改PlayerInfo,所以可以直接使用
             {
-                actorLocationSenderComponent.Get(LocationType.Player).Send(id, match2GNotifyMatchSuccess);
+                messageLocationSenderComponent.Get(LocationType.Player).Send(id, match2GNotifyMatchSuccess);
                 // 等待进入房间的确认消息,如果超时要通知所有玩家退出房间,重新匹配
             }
         }

+ 3 - 3
Unity/Assets/Scripts/Hotfix/Server/LockStep/Room/C2Room_CheckHashHandler.cs

@@ -1,7 +1,7 @@
 namespace ET.Server
 {
-    [ActorMessageHandler(SceneType.RoomRoot)]
-    public class C2Room_CheckHashHandler: ActorMessageHandler<Scene, C2Room_CheckHash>
+    [MessageHandler(SceneType.RoomRoot)]
+    public class C2Room_CheckHashHandler: MessageHandler<Scene, C2Room_CheckHash>
     {
         protected override async ETTask Run(Scene root, C2Room_CheckHash message)
         {
@@ -11,7 +11,7 @@ namespace ET.Server
             {
                 byte[] bytes = room.FrameBuffer.Snapshot(message.Frame).ToArray();
                 Room2C_CheckHashFail room2CCheckHashFail = new() { Frame = message.Frame, LSWorldBytes = bytes };
-                room.Root().GetComponent<ActorLocationSenderComponent>().Get(LocationType.GateSession).Send(message.PlayerId, room2CCheckHashFail);
+                room.Root().GetComponent<MessageLocationSenderComponent>().Get(LocationType.GateSession).Send(message.PlayerId, room2CCheckHashFail);
             }
             await ETTask.CompletedTask;
         }

+ 3 - 3
Unity/Assets/Scripts/Hotfix/Server/LockStep/Room/FiberInit_RoomRoot.cs

@@ -11,11 +11,11 @@ namespace ET.Server
             root.AddComponent<MailBoxComponent, MailBoxType>(MailBoxType.UnOrderedMessage);
             root.AddComponent<TimerComponent>();
             root.AddComponent<CoroutineLockComponent>();
-            root.AddComponent<ActorInnerComponent>();
-            root.AddComponent<ActorSenderComponent>();
+            root.AddComponent<MessageInnerSender>();
+            root.AddComponent<MessageSender>();
             Room room = root.AddChild<Room>();
             root.AddComponent<LocationProxyComponent>();
-            root.AddComponent<ActorLocationSenderComponent>();
+            root.AddComponent<MessageLocationSenderComponent>();
             
             room.Name = "Server";
 

+ 2 - 2
Unity/Assets/Scripts/Hotfix/Server/LockStep/Room/G2Room_ReconnectHandler.cs

@@ -2,8 +2,8 @@ using System.Collections.Generic;
 
 namespace ET.Server
 {
-    [ActorMessageHandler(SceneType.Room)]
-    public class G2Room_ReconnectHandler: ActorMessageHandler<Scene, G2Room_Reconnect, Room2G_Reconnect>
+    [MessageHandler(SceneType.Room)]
+    public class G2Room_ReconnectHandler: MessageHandler<Scene, G2Room_Reconnect, Room2G_Reconnect>
     {
         protected override async ETTask Run(Scene root, G2Room_Reconnect request, Room2G_Reconnect response)
         {

+ 2 - 2
Unity/Assets/Scripts/Hotfix/Server/LockStep/Room/RoomManager2Room_InitHandler.cs

@@ -2,8 +2,8 @@ using System.Collections.Generic;
 
 namespace ET.Server
 {
-    [ActorMessageHandler(SceneType.RoomRoot)]
-    public class RoomManager2Room_InitHandler: ActorMessageHandler<Scene, RoomManager2Room_Init, Room2RoomManager_Init>
+    [MessageHandler(SceneType.RoomRoot)]
+    public class RoomManager2Room_InitHandler: MessageHandler<Scene, RoomManager2Room_Init, Room2RoomManager_Init>
     {
         protected override async ETTask Run(Scene root, RoomManager2Room_Init request, Room2RoomManager_Init response)
         {

+ 0 - 310
Unity/Assets/Scripts/Hotfix/Server/Module/ActorLocation/ActorLocationSenderComponentSystem.cs

@@ -1,310 +0,0 @@
-using System;
-using System.IO;
-using MongoDB.Bson;
-
-namespace ET.Server
-{
-    [EntitySystemOf(typeof(ActorLocationSenderOneType))]
-    [FriendOf(typeof(ActorLocationSenderOneType))]
-    [FriendOf(typeof(ActorLocationSender))]
-    public static partial class ActorLocationSenderComponentSystem
-    {
-        [Invoke(TimerInvokeType.ActorLocationSenderChecker)]
-        public class ActorLocationSenderChecker: ATimer<ActorLocationSenderOneType>
-        {
-            protected override void Run(ActorLocationSenderOneType self)
-            {
-                try
-                {
-                    self.Check();
-                }
-                catch (Exception e)
-                {
-                    Log.Error($"move timer error: {self.Id}\n{e}");
-                }
-            }
-        }
-    
-        [EntitySystem]
-        private static void Awake(this ActorLocationSenderOneType self, int locationType)
-        {
-            self.LocationType = locationType;
-            // 每10s扫描一次过期的actorproxy进行回收,过期时间是2分钟
-            // 可能由于bug或者进程挂掉,导致ActorLocationSender发送的消息没有确认,结果无法自动删除,每一分钟清理一次这种ActorLocationSender
-            self.CheckTimer = self.Fiber().TimerComponent.NewRepeatedTimer(10 * 1000, TimerInvokeType.ActorLocationSenderChecker, self);
-        }
-        
-        [EntitySystem]
-        private static void Destroy(this ActorLocationSenderOneType self)
-        {
-            self.Fiber().TimerComponent?.Remove(ref self.CheckTimer);
-        }
-
-        private static void Check(this ActorLocationSenderOneType self)
-        {
-            using (ListComponent<long> list = ListComponent<long>.Create())
-            {
-                long timeNow = TimeInfo.Instance.ServerNow();
-                foreach ((long key, Entity value) in self.Children)
-                {
-                    ActorLocationSender actorLocationMessageSender = (ActorLocationSender) value;
-
-                    if (timeNow > actorLocationMessageSender.LastSendOrRecvTime + ActorLocationSenderOneType.TIMEOUT_TIME)
-                    {
-                        list.Add(key);
-                    }
-                }
-
-                foreach (long id in list)
-                {
-                    self.Remove(id);
-                }
-            }
-        }
-
-        private static ActorLocationSender GetOrCreate(this ActorLocationSenderOneType self, long id)
-        {
-            if (id == 0)
-            {
-                throw new Exception($"actor id is 0");
-            }
-
-            if (self.Children.TryGetValue(id, out Entity actorLocationSender))
-            {
-                return (ActorLocationSender) actorLocationSender;
-            }
-
-            actorLocationSender = self.AddChildWithId<ActorLocationSender>(id);
-            return (ActorLocationSender) actorLocationSender;
-        }
-
-        // 有需要主动删除actorMessageSender的需求,比如断线重连,玩家登录了不同的Gate,这时候需要通知map删掉之前的actorMessageSender
-        // 然后重新创建新的,重新请求新的ActorId
-        public static void Remove(this ActorLocationSenderOneType self, long id)
-        {
-            if (!self.Children.TryGetValue(id, out Entity actorMessageSender))
-            {
-                return;
-            }
-
-            actorMessageSender.Dispose();
-        }
-        
-        // 发给不会改变位置的actorlocation用这个,这种actor消息不会阻塞发送队列,性能更高
-        // 发送过去找不到actor不会重试,用此方法,你得保证actor提前注册好了location
-        public static void Send(this ActorLocationSenderOneType self, long entityId, IMessage message)
-        {
-            self.SendInner(entityId, message).Coroutine();
-        }
-        
-        private static async ETTask SendInner(this ActorLocationSenderOneType self, long entityId, IMessage message)
-        {
-            ActorLocationSender actorLocationSender = self.GetOrCreate(entityId);
-
-            Scene root = self.Root();
-            
-            if (actorLocationSender.ActorId != default)
-            {
-                actorLocationSender.LastSendOrRecvTime = TimeInfo.Instance.ServerNow();
-                root.GetComponent<ActorSenderComponent>().Send(actorLocationSender.ActorId, message);
-                return;
-            }
-            
-            long instanceId = actorLocationSender.InstanceId;
-            
-            int coroutineLockType = (self.LocationType << 16) | CoroutineLockType.ActorLocationSender;
-            using (await root.Fiber.CoroutineLockComponent.Wait(coroutineLockType, entityId))
-            {
-                if (actorLocationSender.InstanceId != instanceId)
-                {
-                    throw new RpcException(ErrorCore.ERR_ActorTimeout, $"{message}");
-                }
-                
-                if (actorLocationSender.ActorId == default)
-                {
-                    actorLocationSender.ActorId = await root.GetComponent<LocationProxyComponent>().Get(self.LocationType, actorLocationSender.Id);
-                    if (actorLocationSender.InstanceId != instanceId)
-                    {
-                        throw new RpcException(ErrorCore.ERR_ActorLocationSenderTimeout2, $"{message}");
-                    }
-                }
-                
-                actorLocationSender.LastSendOrRecvTime = TimeInfo.Instance.ServerNow();
-                root.GetComponent<ActorSenderComponent>().Send(actorLocationSender.ActorId, message);
-            }
-        }
-
-        // 发给不会改变位置的actorlocation用这个,这种actor消息不会阻塞发送队列,性能更高,发送过去找不到actor不会重试
-        // 发送过去找不到actor不会重试,用此方法,你得保证actor提前注册好了location
-        public static async ETTask<IResponse> Call(this ActorLocationSenderOneType self, long entityId, IRequest request)
-        {
-            ActorLocationSender actorLocationSender = self.GetOrCreate(entityId);
-
-            Scene root = self.Root();
-            
-            if (actorLocationSender.ActorId != default)
-            {
-                actorLocationSender.LastSendOrRecvTime = TimeInfo.Instance.ServerNow();
-                return await root.GetComponent<ActorSenderComponent>().Call(actorLocationSender.ActorId, request);
-            }
-            
-            long instanceId = actorLocationSender.InstanceId;
-            
-            int coroutineLockType = (self.LocationType << 16) | CoroutineLockType.ActorLocationSender;
-            using (await root.Fiber.CoroutineLockComponent.Wait(coroutineLockType, entityId))
-            {
-                if (actorLocationSender.InstanceId != instanceId)
-                {
-                    throw new RpcException(ErrorCore.ERR_ActorTimeout, $"{request}");
-                }
-
-                if (actorLocationSender.ActorId == default)
-                {
-                    actorLocationSender.ActorId = await root.GetComponent<LocationProxyComponent>().Get(self.LocationType, actorLocationSender.Id);
-                    if (actorLocationSender.InstanceId != instanceId)
-                    {
-                        throw new RpcException(ErrorCore.ERR_ActorLocationSenderTimeout2, $"{request}");
-                    }
-                }
-            }
-
-            actorLocationSender.LastSendOrRecvTime = TimeInfo.Instance.ServerNow();
-            return await root.GetComponent<ActorSenderComponent>().Call(actorLocationSender.ActorId, request);
-        }
-
-        public static void Send(this ActorLocationSenderOneType self, long entityId, ILocationMessage message)
-        {
-            self.Call(entityId, message).Coroutine();
-        }
-
-        public static async ETTask<IResponse> Call(this ActorLocationSenderOneType self, long entityId, ILocationRequest iRequest)
-        {
-            ActorLocationSender actorLocationSender = self.GetOrCreate(entityId);
-
-            Scene root = self.Root();
-            
-            int rpcId = root.GetComponent<ActorSenderComponent>().GetRpcId();
-            iRequest.RpcId = rpcId;
-            
-            long actorLocationSenderInstanceId = actorLocationSender.InstanceId;
-            int coroutineLockType = (self.LocationType << 16) | CoroutineLockType.ActorLocationSender;
-            using (await root.Fiber.CoroutineLockComponent.Wait(coroutineLockType, entityId))
-            {
-                if (actorLocationSender.InstanceId != actorLocationSenderInstanceId)
-                {
-                    throw new RpcException(ErrorCore.ERR_ActorTimeout, $"{iRequest}");
-                }
-
-                // 队列中没处理的消息返回跟上个消息一样的报错
-                if (actorLocationSender.Error == ErrorCore.ERR_NotFoundActor)
-                {
-                    return ActorHelper.CreateResponse(iRequest, actorLocationSender.Error);
-                }
-                
-                try
-                {
-                    return await self.CallInner(actorLocationSender, rpcId, iRequest);
-                }
-                catch (RpcException)
-                {
-                    self.Remove(actorLocationSender.Id);
-                    throw;
-                }
-                catch (Exception e)
-                {
-                    self.Remove(actorLocationSender.Id);
-                    throw new Exception($"{iRequest}", e);
-                }
-            }
-        }
-
-        private static async ETTask<IResponse> CallInner(this ActorLocationSenderOneType self, ActorLocationSender actorLocationSender, int rpcId, IRequest iRequest)
-        {
-            int failTimes = 0;
-            long instanceId = actorLocationSender.InstanceId;
-            actorLocationSender.LastSendOrRecvTime = TimeInfo.Instance.ServerNow();
-            
-            Scene root = self.Root();
-            
-            while (true)
-            {
-                if (actorLocationSender.ActorId == default)
-                {
-                    actorLocationSender.ActorId = await root.GetComponent<LocationProxyComponent>().Get(self.LocationType, actorLocationSender.Id);
-                    if (actorLocationSender.InstanceId != instanceId)
-                    {
-                        throw new RpcException(ErrorCore.ERR_ActorLocationSenderTimeout2, $"{iRequest}");
-                    }
-                }
-
-                if (actorLocationSender.ActorId == default)
-                {
-                    actorLocationSender.Error = ErrorCore.ERR_NotFoundActor;
-                    return ActorHelper.CreateResponse(iRequest, ErrorCore.ERR_NotFoundActor);
-                }
-                IResponse response = await root.GetComponent<ActorSenderComponent>().Call(actorLocationSender.ActorId, rpcId, iRequest, needException: false);
-                
-                if (actorLocationSender.InstanceId != instanceId)
-                {
-                    throw new RpcException(ErrorCore.ERR_ActorLocationSenderTimeout3, $"{iRequest}");
-                }
-                
-                switch (response.Error)
-                {
-                    case ErrorCore.ERR_NotFoundActor:
-                    {
-                        // 如果没找到Actor,重试
-                        ++failTimes;
-                        if (failTimes > 20)
-                        {
-                            Log.Debug($"actor send message fail, actorid: {actorLocationSender.Id} {iRequest}");
-                            actorLocationSender.Error = ErrorCore.ERR_NotFoundActor;
-                            // 这里不能删除actor,要让后面等待发送的消息也返回ERR_NotFoundActor,直到超时删除
-                            return response;
-                        }
-
-                        // 等待0.5s再发送
-                        await root.Fiber.TimerComponent.WaitAsync(500);
-                        if (actorLocationSender.InstanceId != instanceId)
-                        {
-                            throw new RpcException(ErrorCore.ERR_ActorLocationSenderTimeout4, $"{iRequest}");
-                        }
-
-                        actorLocationSender.ActorId = default;
-                        continue;
-                    }
-                    case ErrorCore.ERR_ActorTimeout:
-                    {
-                        throw new RpcException(response.Error, $"{iRequest}");
-                    }
-                }
-
-                if (ErrorCore.IsRpcNeedThrowException(response.Error))
-                {
-                    throw new RpcException(response.Error, $"Message: {response.Message} Request: {iRequest}");
-                }
-
-                return response;
-            }
-        }
-    }
-
-    [EntitySystemOf(typeof(ActorLocationSenderComponent))]
-    [FriendOf(typeof (ActorLocationSenderComponent))]
-    public static partial class ActorLocationSenderManagerComponentSystem
-    {
-        [EntitySystem]
-        private static void Awake(this ActorLocationSenderComponent self)
-        {
-            for (int i = 0; i < self.ActorLocationSenderComponents.Length; ++i)
-            {
-                self.ActorLocationSenderComponents[i] = self.AddChild<ActorLocationSenderOneType, int>(i);
-            }
-        }
-        
-        public static ActorLocationSenderOneType Get(this ActorLocationSenderComponent self, int locationType)
-        {
-            return self.ActorLocationSenderComponents[locationType];
-        }
-    }
-}

+ 0 - 11
Unity/Assets/Scripts/Hotfix/Server/Module/ActorLocation/ActorLocationSenderComponentSystem.cs.meta

@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: d9c5b5f290f9eb049a98efe57de93c0e
-MonoImporter:
-  externalObjects: {}
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 

+ 0 - 11
Unity/Assets/Scripts/Hotfix/Server/Module/ActorLocation/ActorLocationSenderSystem.cs.meta

@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: c78fb4596a5212845bde1ec4757efa39
-MonoImporter:
-  externalObjects: {}
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 

+ 0 - 11
Unity/Assets/Scripts/Hotfix/Server/Module/ActorLocation/ActorMessageLocationHandler.cs.meta

@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 1366e4041bf79d1468b108c582082181
-MonoImporter:
-  externalObjects: {}
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 

+ 2 - 2
Unity/Assets/Scripts/Hotfix/Server/Module/ActorLocation/FiberInit_Location.cs

@@ -11,8 +11,8 @@ namespace ET.Server
             root.AddComponent<MailBoxComponent, MailBoxType>(MailBoxType.UnOrderedMessage);
             root.AddComponent<TimerComponent>();
             root.AddComponent<CoroutineLockComponent>();
-            root.AddComponent<ActorInnerComponent>();
-            root.AddComponent<ActorSenderComponent>();
+            root.AddComponent<MessageInnerSender>();
+            root.AddComponent<MessageSender>();
             root.AddComponent<LocationManagerComoponent>();
 
             await ETTask.CompletedTask;

+ 5 - 5
Unity/Assets/Scripts/Hotfix/Server/Module/ActorLocation/LocationProxyComponentSystem.cs

@@ -12,28 +12,28 @@ namespace ET.Server
         public static async ETTask Add(this LocationProxyComponent self, int type, long key, ActorId actorId)
         {
             Log.Info($"location proxy add {key}, {actorId} {TimeInfo.Instance.ServerNow()}");
-            await self.Root().GetComponent<ActorSenderComponent>().Call(GetLocationSceneId(key),
+            await self.Root().GetComponent<MessageSender>().Call(GetLocationSceneId(key),
                 new ObjectAddRequest() { Type = type, Key = key, ActorId = actorId });
         }
 
         public static async ETTask Lock(this LocationProxyComponent self, int type, long key, ActorId actorId, int time = 60000)
         {
             Log.Info($"location proxy lock {key}, {actorId} {TimeInfo.Instance.ServerNow()}");
-            await self.Root().GetComponent<ActorSenderComponent>().Call(GetLocationSceneId(key),
+            await self.Root().GetComponent<MessageSender>().Call(GetLocationSceneId(key),
                 new ObjectLockRequest() { Type = type, Key = key, ActorId = actorId, Time = time });
         }
 
         public static async ETTask UnLock(this LocationProxyComponent self, int type, long key, ActorId oldActorId, ActorId newActorId)
         {
             Log.Info($"location proxy unlock {key}, {newActorId} {TimeInfo.Instance.ServerNow()}");
-            await self.Root().GetComponent<ActorSenderComponent>().Call(GetLocationSceneId(key),
+            await self.Root().GetComponent<MessageSender>().Call(GetLocationSceneId(key),
                 new ObjectUnLockRequest() { Type = type, Key = key, OldActorId = oldActorId, NewActorId = newActorId });
         }
 
         public static async ETTask Remove(this LocationProxyComponent self, int type, long key)
         {
             Log.Info($"location proxy add {key}, {TimeInfo.Instance.ServerNow()}");
-            await self.Root().GetComponent<ActorSenderComponent>().Call(GetLocationSceneId(key),
+            await self.Root().GetComponent<MessageSender>().Call(GetLocationSceneId(key),
                 new ObjectRemoveRequest() { Type = type, Key = key });
         }
 
@@ -46,7 +46,7 @@ namespace ET.Server
 
             // location server配置到共享区,一个大战区可以配置N多个location server,这里暂时为1
             ObjectGetResponse response =
-                    (ObjectGetResponse) await self.Root().GetComponent<ActorSenderComponent>().Call(GetLocationSceneId(key),
+                    (ObjectGetResponse) await self.Root().GetComponent<MessageSender>().Call(GetLocationSceneId(key),
                         new ObjectGetRequest() { Type = type, Key = key });
             return response.ActorId;
         }

+ 4 - 4
Unity/Assets/Scripts/Hotfix/Server/Module/ActorLocation/ActorMessageLocationHandler.cs → Unity/Assets/Scripts/Hotfix/Server/Module/ActorLocation/MessageLocationHandler.cs

@@ -3,7 +3,7 @@
 namespace ET.Server
 {
     [EnableClass]
-    public abstract class ActorMessageLocationHandler<E, Message>: IMActorHandler where E : Entity where Message : class, ILocationMessage
+    public abstract class MessageLocationHandler<E, Message>: IMHandler where E : Entity where Message : class, ILocationMessage
     {
         protected abstract ETTask Run(E entity, Message message);
 
@@ -23,7 +23,7 @@ namespace ET.Server
             }
             
             MessageResponse response = new() {RpcId = message.RpcId};
-            entity.Root().GetComponent<ActorInnerComponent>().Reply(fromAddress, response);
+            entity.Root().GetComponent<MessageInnerSender>().Reply(fromAddress, response);
 
             await this.Run(e, message);
         }
@@ -42,7 +42,7 @@ namespace ET.Server
     
     
     [EnableClass]
-    public abstract class ActorMessageLocationHandler<E, Request, Response>: IMActorHandler where E : Entity where Request : MessageObject, ILocationRequest where Response : MessageObject, ILocationResponse
+    public abstract class MessageLocationHandler<E, Request, Response>: IMHandler where E : Entity where Request : MessageObject, ILocationRequest where Response : MessageObject, ILocationResponse
     {
         protected abstract ETTask Run(E unit, Request request, Response response);
 
@@ -77,7 +77,7 @@ namespace ET.Server
                     response.Message = exception.ToString();
                 }
                 response.RpcId = rpcId;
-                fiber.ActorInnerComponent.Reply(fromAddress, response);
+                fiber.MessageInnerSender.Reply(fromAddress, response);
             }
             catch (Exception e)
             {

+ 11 - 0
Unity/Assets/Scripts/Hotfix/Server/Module/ActorLocation/MessageLocationHandler.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: af711b9d157f7294aaeca9580e25eaef
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 310 - 0
Unity/Assets/Scripts/Hotfix/Server/Module/ActorLocation/MessageLocationSenderComponentSystem.cs

@@ -0,0 +1,310 @@
+using System;
+using System.IO;
+using MongoDB.Bson;
+
+namespace ET.Server
+{
+    [EntitySystemOf(typeof(MessageLocationSenderOneType))]
+    [FriendOf(typeof(MessageLocationSenderOneType))]
+    [FriendOf(typeof(MessageLocationSender))]
+    public static partial class MessageLocationSenderComponentSystem
+    {
+        [Invoke(TimerInvokeType.MessageLocationSenderChecker)]
+        public class MessageLocationSenderChecker: ATimer<MessageLocationSenderOneType>
+        {
+            protected override void Run(MessageLocationSenderOneType self)
+            {
+                try
+                {
+                    self.Check();
+                }
+                catch (Exception e)
+                {
+                    Log.Error($"move timer error: {self.Id}\n{e}");
+                }
+            }
+        }
+    
+        [EntitySystem]
+        private static void Awake(this MessageLocationSenderOneType self, int locationType)
+        {
+            self.LocationType = locationType;
+            // 每10s扫描一次过期的actorproxy进行回收,过期时间是2分钟
+            // 可能由于bug或者进程挂掉,导致ActorLocationSender发送的消息没有确认,结果无法自动删除,每一分钟清理一次这种ActorLocationSender
+            self.CheckTimer = self.Fiber().TimerComponent.NewRepeatedTimer(10 * 1000, TimerInvokeType.MessageLocationSenderChecker, self);
+        }
+        
+        [EntitySystem]
+        private static void Destroy(this MessageLocationSenderOneType self)
+        {
+            self.Fiber().TimerComponent?.Remove(ref self.CheckTimer);
+        }
+
+        private static void Check(this MessageLocationSenderOneType self)
+        {
+            using (ListComponent<long> list = ListComponent<long>.Create())
+            {
+                long timeNow = TimeInfo.Instance.ServerNow();
+                foreach ((long key, Entity value) in self.Children)
+                {
+                    MessageLocationSender messageLocationMessageSender = (MessageLocationSender) value;
+
+                    if (timeNow > messageLocationMessageSender.LastSendOrRecvTime + MessageLocationSenderOneType.TIMEOUT_TIME)
+                    {
+                        list.Add(key);
+                    }
+                }
+
+                foreach (long id in list)
+                {
+                    self.Remove(id);
+                }
+            }
+        }
+
+        private static MessageLocationSender GetOrCreate(this MessageLocationSenderOneType self, long id)
+        {
+            if (id == 0)
+            {
+                throw new Exception($"actor id is 0");
+            }
+
+            if (self.Children.TryGetValue(id, out Entity actorLocationSender))
+            {
+                return (MessageLocationSender) actorLocationSender;
+            }
+
+            actorLocationSender = self.AddChildWithId<MessageLocationSender>(id);
+            return (MessageLocationSender) actorLocationSender;
+        }
+
+        // 有需要主动删除actorMessageSender的需求,比如断线重连,玩家登录了不同的Gate,这时候需要通知map删掉之前的actorMessageSender
+        // 然后重新创建新的,重新请求新的ActorId
+        public static void Remove(this MessageLocationSenderOneType self, long id)
+        {
+            if (!self.Children.TryGetValue(id, out Entity actorMessageSender))
+            {
+                return;
+            }
+
+            actorMessageSender.Dispose();
+        }
+        
+        // 发给不会改变位置的actorlocation用这个,这种actor消息不会阻塞发送队列,性能更高
+        // 发送过去找不到actor不会重试,用此方法,你得保证actor提前注册好了location
+        public static void Send(this MessageLocationSenderOneType self, long entityId, IMessage message)
+        {
+            self.SendInner(entityId, message).Coroutine();
+        }
+        
+        private static async ETTask SendInner(this MessageLocationSenderOneType self, long entityId, IMessage message)
+        {
+            MessageLocationSender messageLocationSender = self.GetOrCreate(entityId);
+
+            Scene root = self.Root();
+            
+            if (messageLocationSender.ActorId != default)
+            {
+                messageLocationSender.LastSendOrRecvTime = TimeInfo.Instance.ServerNow();
+                root.GetComponent<MessageSender>().Send(messageLocationSender.ActorId, message);
+                return;
+            }
+            
+            long instanceId = messageLocationSender.InstanceId;
+            
+            int coroutineLockType = (self.LocationType << 16) | CoroutineLockType.MessageLocationSender;
+            using (await root.Fiber.CoroutineLockComponent.Wait(coroutineLockType, entityId))
+            {
+                if (messageLocationSender.InstanceId != instanceId)
+                {
+                    throw new RpcException(ErrorCore.ERR_MessageTimeout, $"{message}");
+                }
+                
+                if (messageLocationSender.ActorId == default)
+                {
+                    messageLocationSender.ActorId = await root.GetComponent<LocationProxyComponent>().Get(self.LocationType, messageLocationSender.Id);
+                    if (messageLocationSender.InstanceId != instanceId)
+                    {
+                        throw new RpcException(ErrorCore.ERR_ActorLocationSenderTimeout2, $"{message}");
+                    }
+                }
+                
+                messageLocationSender.LastSendOrRecvTime = TimeInfo.Instance.ServerNow();
+                root.GetComponent<MessageSender>().Send(messageLocationSender.ActorId, message);
+            }
+        }
+
+        // 发给不会改变位置的actorlocation用这个,这种actor消息不会阻塞发送队列,性能更高,发送过去找不到actor不会重试
+        // 发送过去找不到actor不会重试,用此方法,你得保证actor提前注册好了location
+        public static async ETTask<IResponse> Call(this MessageLocationSenderOneType self, long entityId, IRequest request)
+        {
+            MessageLocationSender messageLocationSender = self.GetOrCreate(entityId);
+
+            Scene root = self.Root();
+            
+            if (messageLocationSender.ActorId != default)
+            {
+                messageLocationSender.LastSendOrRecvTime = TimeInfo.Instance.ServerNow();
+                return await root.GetComponent<MessageSender>().Call(messageLocationSender.ActorId, request);
+            }
+            
+            long instanceId = messageLocationSender.InstanceId;
+            
+            int coroutineLockType = (self.LocationType << 16) | CoroutineLockType.MessageLocationSender;
+            using (await root.Fiber.CoroutineLockComponent.Wait(coroutineLockType, entityId))
+            {
+                if (messageLocationSender.InstanceId != instanceId)
+                {
+                    throw new RpcException(ErrorCore.ERR_MessageTimeout, $"{request}");
+                }
+
+                if (messageLocationSender.ActorId == default)
+                {
+                    messageLocationSender.ActorId = await root.GetComponent<LocationProxyComponent>().Get(self.LocationType, messageLocationSender.Id);
+                    if (messageLocationSender.InstanceId != instanceId)
+                    {
+                        throw new RpcException(ErrorCore.ERR_ActorLocationSenderTimeout2, $"{request}");
+                    }
+                }
+            }
+
+            messageLocationSender.LastSendOrRecvTime = TimeInfo.Instance.ServerNow();
+            return await root.GetComponent<MessageSender>().Call(messageLocationSender.ActorId, request);
+        }
+
+        public static void Send(this MessageLocationSenderOneType self, long entityId, ILocationMessage message)
+        {
+            self.Call(entityId, message).Coroutine();
+        }
+
+        public static async ETTask<IResponse> Call(this MessageLocationSenderOneType self, long entityId, ILocationRequest iRequest)
+        {
+            MessageLocationSender messageLocationSender = self.GetOrCreate(entityId);
+
+            Scene root = self.Root();
+            
+            int rpcId = root.GetComponent<MessageSender>().GetRpcId();
+            iRequest.RpcId = rpcId;
+            
+            long actorLocationSenderInstanceId = messageLocationSender.InstanceId;
+            int coroutineLockType = (self.LocationType << 16) | CoroutineLockType.MessageLocationSender;
+            using (await root.Fiber.CoroutineLockComponent.Wait(coroutineLockType, entityId))
+            {
+                if (messageLocationSender.InstanceId != actorLocationSenderInstanceId)
+                {
+                    throw new RpcException(ErrorCore.ERR_MessageTimeout, $"{iRequest}");
+                }
+
+                // 队列中没处理的消息返回跟上个消息一样的报错
+                if (messageLocationSender.Error == ErrorCore.ERR_NotFoundActor)
+                {
+                    return ET.MessageHelper.CreateResponse(iRequest, messageLocationSender.Error);
+                }
+                
+                try
+                {
+                    return await self.CallInner(messageLocationSender, rpcId, iRequest);
+                }
+                catch (RpcException)
+                {
+                    self.Remove(messageLocationSender.Id);
+                    throw;
+                }
+                catch (Exception e)
+                {
+                    self.Remove(messageLocationSender.Id);
+                    throw new Exception($"{iRequest}", e);
+                }
+            }
+        }
+
+        private static async ETTask<IResponse> CallInner(this MessageLocationSenderOneType self, MessageLocationSender messageLocationSender, int rpcId, IRequest iRequest)
+        {
+            int failTimes = 0;
+            long instanceId = messageLocationSender.InstanceId;
+            messageLocationSender.LastSendOrRecvTime = TimeInfo.Instance.ServerNow();
+            
+            Scene root = self.Root();
+            
+            while (true)
+            {
+                if (messageLocationSender.ActorId == default)
+                {
+                    messageLocationSender.ActorId = await root.GetComponent<LocationProxyComponent>().Get(self.LocationType, messageLocationSender.Id);
+                    if (messageLocationSender.InstanceId != instanceId)
+                    {
+                        throw new RpcException(ErrorCore.ERR_ActorLocationSenderTimeout2, $"{iRequest}");
+                    }
+                }
+
+                if (messageLocationSender.ActorId == default)
+                {
+                    messageLocationSender.Error = ErrorCore.ERR_NotFoundActor;
+                    return ET.MessageHelper.CreateResponse(iRequest, ErrorCore.ERR_NotFoundActor);
+                }
+                IResponse response = await root.GetComponent<MessageSender>().Call(messageLocationSender.ActorId, rpcId, iRequest, needException: false);
+                
+                if (messageLocationSender.InstanceId != instanceId)
+                {
+                    throw new RpcException(ErrorCore.ERR_ActorLocationSenderTimeout3, $"{iRequest}");
+                }
+                
+                switch (response.Error)
+                {
+                    case ErrorCore.ERR_NotFoundActor:
+                    {
+                        // 如果没找到Actor,重试
+                        ++failTimes;
+                        if (failTimes > 20)
+                        {
+                            Log.Debug($"actor send message fail, actorid: {messageLocationSender.Id} {iRequest}");
+                            messageLocationSender.Error = ErrorCore.ERR_NotFoundActor;
+                            // 这里不能删除actor,要让后面等待发送的消息也返回ERR_NotFoundActor,直到超时删除
+                            return response;
+                        }
+
+                        // 等待0.5s再发送
+                        await root.Fiber.TimerComponent.WaitAsync(500);
+                        if (messageLocationSender.InstanceId != instanceId)
+                        {
+                            throw new RpcException(ErrorCore.ERR_ActorLocationSenderTimeout4, $"{iRequest}");
+                        }
+
+                        messageLocationSender.ActorId = default;
+                        continue;
+                    }
+                    case ErrorCore.ERR_MessageTimeout:
+                    {
+                        throw new RpcException(response.Error, $"{iRequest}");
+                    }
+                }
+
+                if (ErrorCore.IsRpcNeedThrowException(response.Error))
+                {
+                    throw new RpcException(response.Error, $"Message: {response.Message} Request: {iRequest}");
+                }
+
+                return response;
+            }
+        }
+    }
+
+    [EntitySystemOf(typeof(MessageLocationSenderComponent))]
+    [FriendOf(typeof (MessageLocationSenderComponent))]
+    public static partial class MessageLocationSenderManagerComponentSystem
+    {
+        [EntitySystem]
+        private static void Awake(this MessageLocationSenderComponent self)
+        {
+            for (int i = 0; i < self.messageLocationSenders.Length; ++i)
+            {
+                self.messageLocationSenders[i] = self.AddChild<MessageLocationSenderOneType, int>(i);
+            }
+        }
+        
+        public static MessageLocationSenderOneType Get(this MessageLocationSenderComponent self, int locationType)
+        {
+            return self.messageLocationSenders[locationType];
+        }
+    }
+}

+ 11 - 0
Unity/Assets/Scripts/Hotfix/Server/Module/ActorLocation/MessageLocationSenderComponentSystem.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 5750c669ea9dbed4cbf59cfab3b435d1
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 5 - 5
Unity/Assets/Scripts/Hotfix/Server/Module/ActorLocation/ActorLocationSenderSystem.cs → Unity/Assets/Scripts/Hotfix/Server/Module/ActorLocation/MessageLocationSenderSystem.cs

@@ -2,12 +2,12 @@ using System;
 
 namespace ET.Server
 {
-    [EntitySystemOf(typeof(ActorLocationSender))]
-    [FriendOf(typeof(ActorLocationSender))]
-    public static partial class ActorLocationSenderSystem
+    [EntitySystemOf(typeof(MessageLocationSender))]
+    [FriendOf(typeof(MessageLocationSender))]
+    public static partial class MessageLocationSenderSystem
     {
         [EntitySystem]
-        private static void Awake(this ActorLocationSender self)
+        private static void Awake(this MessageLocationSender self)
         {
             self.LastSendOrRecvTime = TimeInfo.Instance.ServerNow();
             self.ActorId = default;
@@ -15,7 +15,7 @@ namespace ET.Server
         }
         
         [EntitySystem]
-        private static void Destroy(this ActorLocationSender self)
+        private static void Destroy(this MessageLocationSender self)
         {
             Log.Debug($"actor location remove: {self.Id}");
             self.LastSendOrRecvTime = 0;

+ 11 - 0
Unity/Assets/Scripts/Hotfix/Server/Module/ActorLocation/MessageLocationSenderSystem.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: abf07b8e1c20b444fa7a5721d302d082
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 2 - 2
Unity/Assets/Scripts/Hotfix/Server/Module/ActorLocation/ObjectAddRequestHandler.cs

@@ -2,8 +2,8 @@
 
 namespace ET.Server
 {
-    [ActorMessageHandler(SceneType.Location)]
-    public class ObjectAddRequestHandler: ActorMessageHandler<Scene, ObjectAddRequest, ObjectAddResponse>
+    [MessageHandler(SceneType.Location)]
+    public class ObjectAddRequestHandler: MessageHandler<Scene, ObjectAddRequest, ObjectAddResponse>
     {
         protected override async ETTask Run(Scene scene, ObjectAddRequest request, ObjectAddResponse response)
         {

+ 2 - 2
Unity/Assets/Scripts/Hotfix/Server/Module/ActorLocation/ObjectGetRequestHandler.cs

@@ -2,8 +2,8 @@
 
 namespace ET.Server
 {
-    [ActorMessageHandler(SceneType.Location)]
-    public class ObjectGetRequestHandler: ActorMessageHandler<Scene, ObjectGetRequest, ObjectGetResponse>
+    [MessageHandler(SceneType.Location)]
+    public class ObjectGetRequestHandler: MessageHandler<Scene, ObjectGetRequest, ObjectGetResponse>
     {
         protected override async ETTask Run(Scene scene, ObjectGetRequest request, ObjectGetResponse response)
         {

+ 2 - 2
Unity/Assets/Scripts/Hotfix/Server/Module/ActorLocation/ObjectLockRequestHandler.cs

@@ -2,8 +2,8 @@
 
 namespace ET.Server
 {
-    [ActorMessageHandler(SceneType.Location)]
-    public class ObjectLockRequestHandler: ActorMessageHandler<Scene, ObjectLockRequest, ObjectLockResponse>
+    [MessageHandler(SceneType.Location)]
+    public class ObjectLockRequestHandler: MessageHandler<Scene, ObjectLockRequest, ObjectLockResponse>
     {
         protected override async ETTask Run(Scene scene, ObjectLockRequest request, ObjectLockResponse response)
         {

+ 2 - 2
Unity/Assets/Scripts/Hotfix/Server/Module/ActorLocation/ObjectRemoveRequestHandler.cs

@@ -2,8 +2,8 @@
 
 namespace ET.Server
 {
-    [ActorMessageHandler(SceneType.Location)]
-    public class ObjectRemoveRequestHandler: ActorMessageHandler<Scene, ObjectRemoveRequest, ObjectRemoveResponse>
+    [MessageHandler(SceneType.Location)]
+    public class ObjectRemoveRequestHandler: MessageHandler<Scene, ObjectRemoveRequest, ObjectRemoveResponse>
     {
         protected override async ETTask Run(Scene scene, ObjectRemoveRequest request, ObjectRemoveResponse response)
         {

+ 2 - 2
Unity/Assets/Scripts/Hotfix/Server/Module/ActorLocation/ObjectUnLockRequestHandler.cs

@@ -2,8 +2,8 @@
 
 namespace ET.Server
 {
-    [ActorMessageHandler(SceneType.Location)]
-    public class ObjectUnLockRequestHandler: ActorMessageHandler<Scene, ObjectUnLockRequest, ObjectUnLockResponse>
+    [MessageHandler(SceneType.Location)]
+    public class ObjectUnLockRequestHandler: MessageHandler<Scene, ObjectUnLockRequest, ObjectUnLockResponse>
     {
         protected override async ETTask Run(Scene scene, ObjectUnLockRequest request, ObjectUnLockResponse response)
         {

Some files were not shown because too many files changed in this diff