M2M_TrasferUnitRequest.cs 853 B

123456789101112131415161718192021222324252627282930
  1. using System;
  2. using ETModel;
  3. namespace ETHotfix
  4. {
  5. [MessageHandler(AppType.Map)]
  6. public class M2M_TrasferUnitRequestHandler : AMRpcHandler<M2M_TrasferUnitRequest, M2M_TrasferUnitResponse>
  7. {
  8. protected override void Run(Session session, M2M_TrasferUnitRequest message, Action<M2M_TrasferUnitResponse> reply)
  9. {
  10. M2M_TrasferUnitResponse response = new M2M_TrasferUnitResponse();
  11. try
  12. {
  13. Unit unit = message.Unit;
  14. // 将unit加入事件系统
  15. Game.EventSystem.Add(unit);
  16. Log.Debug(MongoHelper.ToJson(message.Unit));
  17. // 这里不需要注册location,因为unlock会更新位置
  18. unit.AddComponent<ActorComponent>();
  19. Game.Scene.GetComponent<UnitComponent>().Add(unit);
  20. response.InstanceId = unit.InstanceId;
  21. reply(response);
  22. }
  23. catch (Exception e)
  24. {
  25. ReplyError(response, e, reply);
  26. }
  27. }
  28. }
  29. }