Просмотр исходного кода

1.ActorInner跟ActorRecv合并
2.ActorOuter跟NetInner合并

tanghai 2 лет назад
Родитель
Сommit
7e67bcac3e
31 измененных файлов с 208 добавлено и 311 удалено
  1. 13 0
      Unity/Assets/Scripts/Core/Fiber/Fiber.cs
  2. 8 0
      Unity/Assets/Scripts/Core/Fiber/Module/Actor.meta
  3. 0 0
      Unity/Assets/Scripts/Core/Fiber/Module/Actor/ActorHelper.cs
  4. 0 0
      Unity/Assets/Scripts/Core/Fiber/Module/Actor/ActorHelper.cs.meta
  5. 3 1
      Unity/Assets/Scripts/Core/Fiber/Module/Actor/ActorInnerComponent.cs
  6. 0 0
      Unity/Assets/Scripts/Core/Fiber/Module/Actor/ActorInnerComponent.cs.meta
  7. 50 0
      Unity/Assets/Scripts/Core/Fiber/Module/Actor/ActorInnerComponentSystem.cs
  8. 1 1
      Unity/Assets/Scripts/Core/Fiber/Module/Actor/ActorInnerComponentSystem.cs.meta
  9. 0 0
      Unity/Assets/Scripts/Core/Fiber/Module/Actor/ActorMessageSender.cs
  10. 0 0
      Unity/Assets/Scripts/Core/Fiber/Module/Actor/ActorMessageSender.cs.meta
  11. 0 1
      Unity/Assets/Scripts/Hotfix/Client/Demo/NetClient/FiberInit_NetClient.cs
  12. 0 1
      Unity/Assets/Scripts/Hotfix/Server/Demo/Gate/FiberInit_Gate.cs
  13. 0 1
      Unity/Assets/Scripts/Hotfix/Server/Demo/Realm/FiberInit_Realm.cs
  14. 0 1
      Unity/Assets/Scripts/Hotfix/Server/LockStep/Map/FiberInit_Map.cs
  15. 0 1
      Unity/Assets/Scripts/Hotfix/Server/LockStep/Match/FiberInit_Match.cs
  16. 0 1
      Unity/Assets/Scripts/Hotfix/Server/LockStep/Room/FiberInit_RoomRoot.cs
  17. 0 1
      Unity/Assets/Scripts/Hotfix/Server/Module/ActorLocation/FiberInit_Location.cs
  18. 126 3
      Unity/Assets/Scripts/Hotfix/Server/Module/Message/ActorOuterComponentSystem.cs
  19. 0 42
      Unity/Assets/Scripts/Hotfix/Server/Module/Message/NetInnerComponentOnReadEvent.cs
  20. 0 11
      Unity/Assets/Scripts/Hotfix/Server/Module/Message/NetInnerComponentOnReadEvent.cs.meta
  21. 0 102
      Unity/Assets/Scripts/Hotfix/Server/Module/Message/NetProcessComponentSystem.cs
  22. 0 11
      Unity/Assets/Scripts/Hotfix/Server/Module/Message/NetProcessComponentSystem.cs.meta
  23. 1 3
      Unity/Assets/Scripts/Hotfix/Server/Module/NetInner/FiberInit_NetInner.cs
  24. 0 1
      Unity/Assets/Scripts/Hotfix/Share/Demo/EntryEvent1_InitShare.cs
  25. 0 52
      Unity/Assets/Scripts/Hotfix/Share/Module/Actor/ActorRecverComponentSystem.cs
  26. 0 11
      Unity/Assets/Scripts/Hotfix/Share/Module/Actor/ActorRecverComponentSystem.cs.meta
  27. 6 15
      Unity/Assets/Scripts/Model/Server/Module/Message/ActorOuterComponent.cs
  28. 0 19
      Unity/Assets/Scripts/Model/Server/Module/Message/NetProcessComponent.cs
  29. 0 11
      Unity/Assets/Scripts/Model/Server/Module/Message/NetProcessComponent.cs.meta
  30. 0 10
      Unity/Assets/Scripts/Model/Share/Module/Actor/ActorRecverComponent.cs
  31. 0 11
      Unity/Assets/Scripts/Model/Share/Module/Actor/ActorRecverComponent.cs.meta

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

@@ -64,6 +64,19 @@ namespace ET
                 this.coroutineLockComponent = value;
             }
         }
+        
+        private EntityRef<ActorInnerComponent> actorInnerComponent;
+        public ActorInnerComponent ActorInnerComponent
+        {
+            get
+            {
+                return this.actorInnerComponent;
+            }
+            set
+            {
+                this.actorInnerComponent = value;
+            }
+        }
 
         private readonly Queue<ETTask> frameFinishTasks = new();
         

+ 8 - 0
Unity/Assets/Scripts/Core/Fiber/Module/Actor.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 43270a1ae7e8422458e49f6855475e8c
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 0 - 0
Unity/Assets/Scripts/Model/Share/Module/Actor/ActorHelper.cs → Unity/Assets/Scripts/Core/Fiber/Module/Actor/ActorHelper.cs


+ 0 - 0
Unity/Assets/Scripts/Model/Share/Module/Actor/ActorHelper.cs.meta → Unity/Assets/Scripts/Core/Fiber/Module/Actor/ActorHelper.cs.meta


+ 3 - 1
Unity/Assets/Scripts/Model/Share/Module/Actor/ActorInnerComponent.cs → Unity/Assets/Scripts/Core/Fiber/Module/Actor/ActorInnerComponent.cs

@@ -3,12 +3,14 @@
 namespace ET
 {
     [ComponentOf(typeof(Scene))]
-    public class ActorInnerComponent: Entity, IAwake
+    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();
     }
 }

+ 0 - 0
Unity/Assets/Scripts/Model/Share/Module/Actor/ActorInnerComponent.cs.meta → Unity/Assets/Scripts/Core/Fiber/Module/Actor/ActorInnerComponent.cs.meta


+ 50 - 0
Unity/Assets/Scripts/Hotfix/Share/Module/Actor/ActorInnerComponentSystem.cs → Unity/Assets/Scripts/Core/Fiber/Module/Actor/ActorInnerComponentSystem.cs

@@ -7,6 +7,56 @@ namespace ET
     [FriendOf(typeof(ActorInnerComponent))]
     public static partial class ActorInnerComponentSystem
     {
+        [EntitySystem]
+        private static void Destroy(this ActorInnerComponent self)
+        {
+            Fiber fiber = self.Fiber();
+            ActorMessageQueue.Instance.RemoveQueue(fiber.Id);
+        }
+
+        [EntitySystem]
+        private static void Awake(this ActorInnerComponent self)
+        {
+            Fiber fiber = self.Fiber();
+            ActorMessageQueue.Instance.AddQueue(fiber.Id);
+            fiber.ActorInnerComponent = self;
+        }
+
+        [EntitySystem]
+        private static void Update(this ActorInnerComponent self)
+        {
+            self.list.Clear();
+            Fiber fiber = self.Fiber();
+            ActorMessageQueue.Instance.Fetch(fiber.Id, 1000, self.list);
+
+            ActorInnerComponent actorInnerComponent = fiber.Root.GetComponent<ActorInnerComponent>();
+            foreach (ActorMessageInfo actorMessageInfo in self.list)
+            {
+                if (actorMessageInfo.MessageObject is IActorResponse response)
+                {
+                    actorInnerComponent.HandleIActorResponse(response);
+                    continue;
+                }
+
+                ActorId actorId = actorMessageInfo.ActorId;
+                MessageObject message = actorMessageInfo.MessageObject;
+
+                MailBoxComponent mailBoxComponent = self.Fiber().Mailboxes.Get(actorId.InstanceId);
+                if (mailBoxComponent == null)
+                {
+                    Log.Warning($"actor not found mailbox, from: {actorId} current: {fiber.Address} {message}");
+                    if (message is IActorRequest request)
+                    {
+                        IActorResponse resp = ActorHelper.CreateResponse(request, ErrorCore.ERR_NotFoundActor);
+                        actorInnerComponent.Reply(actorId.Address, resp);
+                    }
+                    return;
+                }
+                mailBoxComponent.Add(actorId.Address, message);
+            }
+        }
+        
+        
         public static void HandleIActorResponse(this ActorInnerComponent self, IActorResponse response)
         {
             if (!self.requestCallback.Remove(response.RpcId, out ActorMessageSender actorMessageSender))

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

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

+ 0 - 0
Unity/Assets/Scripts/Model/Share/Module/Actor/ActorMessageSender.cs → Unity/Assets/Scripts/Core/Fiber/Module/Actor/ActorMessageSender.cs


+ 0 - 0
Unity/Assets/Scripts/Model/Share/Module/Actor/ActorMessageSender.cs.meta → Unity/Assets/Scripts/Core/Fiber/Module/Actor/ActorMessageSender.cs.meta


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

@@ -10,7 +10,6 @@
             root.AddComponent<TimerComponent>();
             root.AddComponent<CoroutineLockComponent>();
             root.AddComponent<ActorInnerComponent>();
-            root.AddComponent<ActorRecverComponent>();
             await ETTask.CompletedTask;
         }
     }

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

@@ -13,7 +13,6 @@ namespace ET.Server
             root.AddComponent<CoroutineLockComponent>();
             root.AddComponent<ActorInnerComponent>();
             root.AddComponent<ActorSenderComponent>();
-            root.AddComponent<ActorRecverComponent>();
             root.AddComponent<PlayerComponent>();
             root.AddComponent<GateSessionKeyComponent>();
             root.AddComponent<LocationProxyComponent>();

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

@@ -13,7 +13,6 @@ namespace ET.Server
             root.AddComponent<CoroutineLockComponent>();
             root.AddComponent<ActorInnerComponent>();
             root.AddComponent<ActorSenderComponent>();
-            root.AddComponent<ActorRecverComponent>();
             StartSceneConfig startSceneConfig = StartSceneConfigCategory.Instance.Get(root.Fiber.Id);
             root.AddComponent<NetServerComponent, IPEndPoint>(startSceneConfig.InnerIPPort);
 

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

@@ -13,7 +13,6 @@ namespace ET.Server
             root.AddComponent<CoroutineLockComponent>();
             root.AddComponent<ActorInnerComponent>();
             root.AddComponent<ActorSenderComponent>();
-            root.AddComponent<ActorRecverComponent>();
             root.AddComponent<UnitComponent>();
             root.AddComponent<AOIManagerComponent>();
             root.AddComponent<RoomManagerComponent>();

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

@@ -13,7 +13,6 @@ namespace ET.Server
             root.AddComponent<CoroutineLockComponent>();
             root.AddComponent<ActorInnerComponent>();
             root.AddComponent<ActorSenderComponent>();
-            root.AddComponent<ActorRecverComponent>();
             root.AddComponent<MatchComponent>();
             root.AddComponent<LocationProxyComponent>();
             root.AddComponent<ActorLocationSenderComponent>();

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

@@ -13,7 +13,6 @@ namespace ET.Server
             root.AddComponent<CoroutineLockComponent>();
             root.AddComponent<ActorInnerComponent>();
             root.AddComponent<ActorSenderComponent>();
-            root.AddComponent<ActorRecverComponent>();
             Room room = root.AddChild<Room>();
             root.AddComponent<LocationProxyComponent>();
             root.AddComponent<ActorLocationSenderComponent>();

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

@@ -13,7 +13,6 @@ namespace ET.Server
             root.AddComponent<CoroutineLockComponent>();
             root.AddComponent<ActorInnerComponent>();
             root.AddComponent<ActorSenderComponent>();
-            root.AddComponent<ActorRecverComponent>();
             root.AddComponent<LocationManagerComoponent>();
 
             await ETTask.CompletedTask;

+ 126 - 3
Unity/Assets/Scripts/Hotfix/Server/Module/Message/ActorOuterComponentSystem.cs

@@ -1,14 +1,137 @@
 using System;
+using System.Net;
 
 namespace ET.Server
 {
     [FriendOf(typeof(ActorOuterComponent))]
     public static partial class ActorOuterComponentSystem
     {
+[EntitySystem]
+        private static void Awake(this ActorOuterComponent self, IPEndPoint address)
+        {
+            switch (self.InnerProtocol)
+            {
+                case NetworkProtocol.TCP:
+                {
+                    self.AService = new TService(address, ServiceType.Inner);
+                    break;
+                }
+                case NetworkProtocol.KCP:
+                {
+                    self.AService = new KService(address, ServiceType.Inner);
+                    break;
+                }
+            }
+                
+            self.AService.AcceptCallback = self.OnAccept;
+            self.AService.ReadCallback = self.OnRead;
+            self.AService.ErrorCallback = self.OnError;
+        }
+        
         [EntitySystem]
-        private static void Awake(this ActorOuterComponent self)
+        private static void Update(this ActorOuterComponent self)
+        {
+            self.AService.Update();
+        }
+
+        [EntitySystem]
+        private static void Destroy(this ActorOuterComponent self)
+        {
+            self.AService.Dispose();
+        }
+
+        private static void OnRead(this ActorOuterComponent self, long channelId, ActorId actorId, object message)
         {
-            self.NetProcessComponent = self.Root().GetComponent<NetProcessComponent>();
+            Session session = self.GetChild<Session>(channelId);
+            if (session == null)
+            {
+                return;
+            }
+            
+            session.LastRecvTime = self.Fiber().TimeInfo.ClientFrameTime();
+
+            self.HandleMessage(actorId, message).Coroutine();
+        }
+
+        private static async ETTask HandleMessage(this ActorOuterComponent self, ActorId actorId, object message)
+        {
+            Fiber fiber = self.Fiber();
+            int fromProcess = actorId.Process;
+            actorId.Process = fiber.Process;
+
+            switch (message)
+            {
+                case IActorResponse iActorResponse:
+                {
+                    self.HandleIActorResponse(iActorResponse);
+                    return;
+                }
+                case IActorLocationRequest iActorRequest:
+                {
+                    IActorResponse response = await fiber.ActorInnerComponent.Call(actorId, iActorRequest, false);
+                    actorId.Process = fromProcess;
+                    self.Send(actorId, response);
+                    break;
+                }
+                case IActorRequest iActorRequest:
+                {
+                    IActorResponse response = await fiber.ActorInnerComponent.Call(actorId, iActorRequest);
+                    actorId.Process = fromProcess;
+                    self.Send(actorId, response);
+                    break;
+                }
+                default:
+                {
+                    ActorMessageQueue.Instance.Send(actorId, (MessageObject)message);
+                    break;
+                }
+            }
+        }
+
+        private static void OnError(this ActorOuterComponent self, long channelId, int error)
+        {
+            Session session = self.GetChild<Session>(channelId);
+            if (session == null)
+            {
+                return;
+            }
+
+            session.Error = error;
+            session.Dispose();
+        }
+
+        // 这个channelId是由CreateAcceptChannelId生成的
+        private static void OnAccept(this ActorOuterComponent self, long channelId, IPEndPoint ipEndPoint)
+        {
+            Session session = self.AddChildWithId<Session, AService>(channelId, self.AService);
+            session.RemoteAddress = ipEndPoint;
+            //session.AddComponent<SessionIdleCheckerComponent, int, int, int>(NetThreadComponent.checkInteral, NetThreadComponent.recvMaxIdleTime, NetThreadComponent.sendMaxIdleTime);
+        }
+
+        private static Session CreateInner(this ActorOuterComponent self, long channelId, IPEndPoint ipEndPoint)
+        {
+            Session session = self.AddChildWithId<Session, AService>(channelId, self.AService);
+            session.RemoteAddress = ipEndPoint;
+            self.AService.Create(channelId, ipEndPoint);
+
+            //session.AddComponent<InnerPingComponent>();
+            //session.AddComponent<SessionIdleCheckerComponent, int, int, int>(NetThreadComponent.checkInteral, NetThreadComponent.recvMaxIdleTime, NetThreadComponent.sendMaxIdleTime);
+
+            return session;
+        }
+
+        // 内网actor session,channelId是进程号
+        private static Session Get(this ActorOuterComponent self, long channelId)
+        {
+            Session session = self.GetChild<Session>(channelId);
+            if (session != null)
+            {
+                return session;
+            }
+
+            IPEndPoint ipEndPoint = StartSceneConfigCategory.Instance.Get((int) channelId).InnerIPPort;
+            session = self.CreateInner(channelId, ipEndPoint);
+            return session;
         }
 
         public static void HandleIActorResponse(this ActorOuterComponent self, IActorResponse response)
@@ -57,7 +180,7 @@ namespace ET.Server
             }
 
             StartSceneConfig startSceneConfig = StartSceneConfigCategory.Instance.NetInners[actorId.Process];
-            Session session = self.NetProcessComponent.Get(startSceneConfig.Id);
+            Session session = self.Get(startSceneConfig.Id);
             actorId.Process = fiber.Process;
             session.Send(actorId, message);
         }

+ 0 - 42
Unity/Assets/Scripts/Hotfix/Server/Module/Message/NetInnerComponentOnReadEvent.cs

@@ -1,42 +0,0 @@
-namespace ET.Server
-{
-    [Event(SceneType.NetInner)]
-    public class NetInnerComponentOnReadEvent: AEvent<Scene, NetInnerComponentOnRead>
-    {
-        protected override async ETTask Run(Scene root, NetInnerComponentOnRead args)
-        {
-            ActorId actorId = args.ActorId;
-            int fromProcess = actorId.Process;
-            actorId.Process = root.Fiber.Process;
-            object message = args.Message;
-
-            switch (message)
-            {
-                case IActorLocationRequest iActorRequest:
-                {
-                    IActorResponse response = await root.GetComponent<ActorInnerComponent>().Call(actorId, iActorRequest, false);
-                    actorId.Process = fromProcess;
-                    root.GetComponent<ActorOuterComponent>().Send(actorId, response);
-                    break;
-                }
-                case IActorResponse iActorResponse:
-                    root.GetComponent<ActorOuterComponent>().HandleIActorResponse(iActorResponse);
-                    return;
-                case IActorRequest iActorRequest:
-                {
-                    IActorResponse response = await root.GetComponent<ActorInnerComponent>().Call(actorId, iActorRequest);
-                    actorId.Process = fromProcess;
-                    root.GetComponent<ActorOuterComponent>().Send(actorId, response);
-                    break;
-                }
-                default:
-                {
-                    ActorMessageQueue.Instance.Send(actorId, (MessageObject)message);
-                    break;
-                }
-            }
-
-            await ETTask.CompletedTask;
-        }
-    }
-}

+ 0 - 11
Unity/Assets/Scripts/Hotfix/Server/Module/Message/NetInnerComponentOnReadEvent.cs.meta

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

+ 0 - 102
Unity/Assets/Scripts/Hotfix/Server/Module/Message/NetProcessComponentSystem.cs

@@ -1,102 +0,0 @@
-using System;
-using System.Net;
-
-namespace ET.Server
-{
-    [FriendOf(typeof(NetProcessComponent))]
-    public static partial class NetProcessComponentSystem
-    {
-        [EntitySystem]
-        private static void Awake(this NetProcessComponent self, IPEndPoint address)
-        {
-            switch (self.InnerProtocol)
-            {
-                case NetworkProtocol.TCP:
-                {
-                    self.AService = new TService(address, ServiceType.Inner);
-                    break;
-                }
-                case NetworkProtocol.KCP:
-                {
-                    self.AService = new KService(address, ServiceType.Inner);
-                    break;
-                }
-            }
-                
-            self.AService.AcceptCallback = self.OnAccept;
-            self.AService.ReadCallback = self.OnRead;
-            self.AService.ErrorCallback = self.OnError;
-        }
-        
-        [EntitySystem]
-        private static void Update(this NetProcessComponent self)
-        {
-            self.AService.Update();
-        }
-
-        [EntitySystem]
-        private static void Destroy(this NetProcessComponent self)
-        {
-            self.AService.Dispose();
-        }
-
-        private static void OnRead(this NetProcessComponent self, long channelId, ActorId actorId, object message)
-        {
-            Session session = self.GetChild<Session>(channelId);
-            if (session == null)
-            {
-                return;
-            }
-            
-            session.LastRecvTime = self.Fiber().TimeInfo.ClientFrameTime();
-
-            EventSystem.Instance.Publish(self.Scene(), new NetInnerComponentOnRead() {ActorId = actorId, Message = message});
-        }
-
-        private static void OnError(this NetProcessComponent self, long channelId, int error)
-        {
-            Session session = self.GetChild<Session>(channelId);
-            if (session == null)
-            {
-                return;
-            }
-
-            session.Error = error;
-            session.Dispose();
-        }
-
-        // 这个channelId是由CreateAcceptChannelId生成的
-        private static void OnAccept(this NetProcessComponent self, long channelId, IPEndPoint ipEndPoint)
-        {
-            Session session = self.AddChildWithId<Session, AService>(channelId, self.AService);
-            session.RemoteAddress = ipEndPoint;
-            //session.AddComponent<SessionIdleCheckerComponent, int, int, int>(NetThreadComponent.checkInteral, NetThreadComponent.recvMaxIdleTime, NetThreadComponent.sendMaxIdleTime);
-        }
-
-        private static Session CreateInner(this NetProcessComponent self, long channelId, IPEndPoint ipEndPoint)
-        {
-            Session session = self.AddChildWithId<Session, AService>(channelId, self.AService);
-            session.RemoteAddress = ipEndPoint;
-            self.AService.Create(channelId, ipEndPoint);
-
-            //session.AddComponent<InnerPingComponent>();
-            //session.AddComponent<SessionIdleCheckerComponent, int, int, int>(NetThreadComponent.checkInteral, NetThreadComponent.recvMaxIdleTime, NetThreadComponent.sendMaxIdleTime);
-
-            return session;
-        }
-
-        // 内网actor session,channelId是进程号
-        public static Session Get(this NetProcessComponent self, long channelId)
-        {
-            Session session = self.GetChild<Session>(channelId);
-            if (session != null)
-            {
-                return session;
-            }
-
-            IPEndPoint ipEndPoint = StartSceneConfigCategory.Instance.Get((int) channelId).InnerIPPort;
-            session = self.CreateInner(channelId, ipEndPoint);
-            return session;
-        }
-    }
-}

+ 0 - 11
Unity/Assets/Scripts/Hotfix/Server/Module/Message/NetProcessComponentSystem.cs.meta

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

+ 1 - 3
Unity/Assets/Scripts/Hotfix/Server/Module/NetInner/FiberInit_NetInner.cs

@@ -12,11 +12,9 @@ namespace ET.Server
             root.AddComponent<TimerComponent>();
             root.AddComponent<CoroutineLockComponent>();
             StartSceneConfig startSceneConfig = StartSceneConfigCategory.Instance.Get(fiberInit.Fiber.Id);
-            root.AddComponent<NetProcessComponent, IPEndPoint>(startSceneConfig.InnerIPPort);
-            root.AddComponent<ActorOuterComponent>();
+            root.AddComponent<ActorOuterComponent, IPEndPoint>(startSceneConfig.InnerIPPort);
             root.AddComponent<ActorInnerComponent>();
             //root.AddComponent<ActorSenderComponent>();
-            root.AddComponent<ActorRecverComponent>();
 
             await ETTask.CompletedTask;
         }

+ 0 - 1
Unity/Assets/Scripts/Hotfix/Share/Demo/EntryEvent1_InitShare.cs

@@ -10,7 +10,6 @@ namespace ET
             root.AddComponent<ObjectWait>();
             root.AddComponent<MailBoxComponent, MailBoxType>(MailBoxType.UnOrderedMessage);
             root.AddComponent<ActorInnerComponent>();
-            root.AddComponent<ActorRecverComponent>();
             
             await ETTask.CompletedTask;
         }

+ 0 - 52
Unity/Assets/Scripts/Hotfix/Share/Module/Actor/ActorRecverComponentSystem.cs

@@ -1,52 +0,0 @@
-namespace ET
-{
-    [FriendOf(typeof(ActorRecverComponent))]
-    public static partial class ActorRecverComponentSystem
-    {
-        [EntitySystem]
-        private static void Destroy(this ActorRecverComponent self)
-        {
-            ActorMessageQueue.Instance.RemoveQueue((int)self.Fiber().Id);
-        }
-
-        [EntitySystem]
-        private static void Awake(this ActorRecverComponent self)
-        {
-            ActorMessageQueue.Instance.AddQueue((int)self.Fiber().Id);
-        }
-
-        [EntitySystem]
-        private static void Update(this ActorRecverComponent self)
-        {
-            self.list.Clear();
-            Fiber fiber = self.Fiber();
-            ActorMessageQueue.Instance.Fetch(fiber.Id, 1000, self.list);
-
-            ActorInnerComponent actorInnerComponent = fiber.Root.GetComponent<ActorInnerComponent>();
-            foreach (ActorMessageInfo actorMessageInfo in self.list)
-            {
-                if (actorMessageInfo.MessageObject is IActorResponse response)
-                {
-                    actorInnerComponent.HandleIActorResponse(response);
-                    continue;
-                }
-
-                ActorId actorId = actorMessageInfo.ActorId;
-                MessageObject message = actorMessageInfo.MessageObject;
-
-                MailBoxComponent mailBoxComponent = self.Fiber().Mailboxes.Get(actorId.InstanceId);
-                if (mailBoxComponent == null)
-                {
-                    Log.Warning($"actor not found mailbox, from: {actorId} current: {fiber.Address} {message}");
-                    if (message is IActorRequest request)
-                    {
-                        IActorResponse resp = ActorHelper.CreateResponse(request, ErrorCore.ERR_NotFoundActor);
-                        actorInnerComponent.Reply(actorId.Address, resp);
-                    }
-                    return;
-                }
-                mailBoxComponent.Add(actorId.Address, message);
-            }
-        }
-    }
-}

+ 0 - 11
Unity/Assets/Scripts/Hotfix/Share/Module/Actor/ActorRecverComponentSystem.cs.meta

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

+ 6 - 15
Unity/Assets/Scripts/Model/Server/Module/Message/ActorOuterComponent.cs

@@ -1,28 +1,19 @@
 using System.Collections.Generic;
+using System.Net;
 
 namespace ET.Server
 {
     [ComponentOf(typeof(Scene))]
-    public class ActorOuterComponent: Entity, IAwake
+    public class ActorOuterComponent: Entity, IAwake<IPEndPoint>, IUpdate, IDestroy
     {
         public const long TIMEOUT_TIME = 40 * 1000;
         
         public int RpcId;
 
         public readonly Dictionary<int, ActorMessageSender> requestCallback = new();
-
-        private EntityRef<NetProcessComponent> netProcessComponent;
-
-        public NetProcessComponent NetProcessComponent
-        {
-            get
-            {
-                return this.netProcessComponent;
-            }
-            set
-            {
-                this.netProcessComponent = value;
-            }
-        }
+        
+        public AService AService;
+        
+        public NetworkProtocol InnerProtocol = NetworkProtocol.KCP;
     }
 }

+ 0 - 19
Unity/Assets/Scripts/Model/Server/Module/Message/NetProcessComponent.cs

@@ -1,19 +0,0 @@
-using System;
-using System.Net;
-
-namespace ET.Server
-{
-    public struct NetInnerComponentOnRead
-    {
-        public ActorId ActorId;
-        public object Message;
-    }
-    
-    [ComponentOf(typeof(Scene))]
-    public class NetProcessComponent: Entity, IAwake<IPEndPoint>, IDestroy, IUpdate
-    {
-        public AService AService;
-        
-        public NetworkProtocol InnerProtocol = NetworkProtocol.KCP;
-    }
-}

+ 0 - 11
Unity/Assets/Scripts/Model/Server/Module/Message/NetProcessComponent.cs.meta

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

+ 0 - 10
Unity/Assets/Scripts/Model/Share/Module/Actor/ActorRecverComponent.cs

@@ -1,10 +0,0 @@
-using System.Collections.Generic;
-
-namespace ET
-{
-    [ComponentOf(typeof(Scene))]
-    public class ActorRecverComponent: Entity, IAwake, IDestroy, IUpdate
-    {
-        public readonly List<ActorMessageInfo> list = new();
-    }
-}

+ 0 - 11
Unity/Assets/Scripts/Model/Share/Module/Actor/ActorRecverComponent.cs.meta

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