C2G_EnterMapHandler.cs 865 B

12345678910111213141516171819202122
  1. using System;
  2. using System.Net;
  3. using ETModel;
  4. namespace ETHotfix
  5. {
  6. [MessageHandler(AppType.Gate)]
  7. public class C2G_EnterMapHandler : AMRpcHandler<C2G_EnterMap, G2C_EnterMap>
  8. {
  9. protected override async ETTask Run(Session session, C2G_EnterMap request, G2C_EnterMap response, Action reply)
  10. {
  11. Player player = session.GetComponent<SessionPlayerComponent>().Player;
  12. // 在map服务器上创建战斗Unit
  13. IPEndPoint mapAddress = StartConfigComponent.Instance.MapConfigs[0].GetComponent<InnerConfig>().IPEndPoint;
  14. Session mapSession = Game.Scene.GetComponent<NetInnerComponent>().Get(mapAddress);
  15. M2G_CreateUnit createUnit = (M2G_CreateUnit)await mapSession.Call(new G2M_CreateUnit() { PlayerId = player.Id, GateSessionId = session.InstanceId });
  16. player.UnitId = createUnit.UnitId;
  17. response.UnitId = createUnit.UnitId;
  18. reply();
  19. }
  20. }
  21. }