InnerMessageDispatcher.cs 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. 
  2. namespace ET
  3. {
  4. public class InnerMessageDispatcher: IMessageDispatcher
  5. {
  6. public void Dispatch(Session session, ushort opcode, object message)
  7. {
  8. // 收到actor消息,放入actor队列
  9. switch (message)
  10. {
  11. case IActorRequest iActorRequest:
  12. {
  13. InnerMessageDispatcherHelper.HandleIActorRequest(session, iActorRequest).Coroutine();
  14. return;
  15. }
  16. case IActorMessage iactorMessage:
  17. {
  18. InnerMessageDispatcherHelper.HandleIActorMessage(session, iactorMessage).Coroutine();
  19. return;
  20. }
  21. case IActorResponse iActorResponse:
  22. {
  23. InnerMessageDispatcherHelper.HandleIActorResponse(session, iActorResponse).Coroutine();
  24. return;
  25. }
  26. default:
  27. {
  28. MessageDispatcherComponent.Instace.Handle(session, new MessageInfo(opcode, message));
  29. break;
  30. }
  31. }
  32. }
  33. }
  34. }