NetInnerComponentOnReadEvent.cs 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. using System;
  2. namespace ET.Server
  3. {
  4. [Event(SceneType.Process)]
  5. public class NetInnerComponentOnReadEvent: AEvent<NetInnerComponentOnRead>
  6. {
  7. protected override async ETTask Run(Scene scene, NetInnerComponentOnRead args)
  8. {
  9. try
  10. {
  11. long actorId = args.ActorId;
  12. object message = args.Message;
  13. // 收到actor消息,放入actor队列
  14. switch (message)
  15. {
  16. case IActorResponse iActorResponse:
  17. {
  18. ActorHandleHelper.HandleIActorResponse(iActorResponse);
  19. break;
  20. }
  21. case IActorRequest iActorRequest:
  22. {
  23. await ActorHandleHelper.HandleIActorRequest(actorId, iActorRequest);
  24. break;
  25. }
  26. case IActorMessage iActorMessage:
  27. {
  28. await ActorHandleHelper.HandleIActorMessage(actorId, iActorMessage);
  29. break;
  30. }
  31. }
  32. }
  33. catch (Exception e)
  34. {
  35. Log.Error($"InnerMessageDispatcher error: {args.Message.GetType().Name}\n{e}");
  36. }
  37. await ETTask.CompletedTask;
  38. }
  39. }
  40. }