GateRecvServerMessageEvent.cs 616 B

123456789101112131415161718192021
  1. using System;
  2. using Model;
  3. using MongoDB.Bson;
  4. namespace Controller
  5. {
  6. [Event(EventType.GateRecvServerMessage, ServerType.Gate)]
  7. public class GateRecvServerMessageEvent: IEventSync
  8. {
  9. public void Run(Env env)
  10. {
  11. byte[] messageBytes = env.Get<byte[]>(EnvKey.MessageBytes);
  12. byte[] idBuffer = new byte[12];
  13. Array.Copy(messageBytes, 2, idBuffer, 0, 12);
  14. ObjectId unitId = new ObjectId(idBuffer);
  15. byte[] buffer = MessageParseHelper.LogicToGateMessageChangeToClientMessage(messageBytes);
  16. World.Instance.GetComponent<GateNetworkComponent>().SendAsync(unitId, buffer);
  17. }
  18. }
  19. }