ClientDispatcher.cs 768 B

1234567891011121314151617181920212223242526272829
  1. using System;
  2. namespace Model
  3. {
  4. public class ClientDispatcher: IMessageDispatcher
  5. {
  6. public void Dispatch(Session session, ushort opcode, int offset, byte[] messageBytes, object message)
  7. {
  8. //Log.Debug($"recv {JsonHelper.ToJson(message)}");
  9. // 普通消息或者是Rpc请求消息
  10. if (message is AMessage || message is ARequest)
  11. {
  12. MessageInfo messageInfo = new MessageInfo(opcode, (AMessage)message);
  13. if (opcode < 2000)
  14. {
  15. Game.Scene.GetComponent<CrossComponent>().Run(CrossIdType.MessageDeserializeFinish, messageInfo);
  16. }
  17. else
  18. {
  19. Game.Scene.GetComponent<MessageDispatherComponent>().Handle(messageInfo);
  20. }
  21. return;
  22. }
  23. throw new Exception($"message type error: {message.GetType().FullName}");
  24. }
  25. }
  26. }