C2G_EnterMapHandler.cs 776 B

123456789101112131415161718192021
  1. using System;
  2. namespace ET
  3. {
  4. [MessageHandler]
  5. public class C2G_EnterMapHandler : AMRpcHandler<C2G_EnterMap, G2C_EnterMap>
  6. {
  7. protected override async ETTask Run(Session session, C2G_EnterMap request, G2C_EnterMap response, Action reply)
  8. {
  9. Player player = session.GetComponent<SessionPlayerComponent>().Player;
  10. // 在map服务器上创建战斗Unit
  11. long mapInstanceId = StartSceneConfigCategory.Instance.GetBySceneName(session.DomainZone(), "Map").InstanceId;
  12. M2G_CreateUnit createUnit = (M2G_CreateUnit)await ActorMessageSenderComponent.Instance.Call(
  13. mapInstanceId, new G2M_CreateUnit() { PlayerId = player.Id, GateSessionId = session.InstanceId });
  14. player.UnitId = createUnit.UnitId;
  15. response.UnitId = createUnit.UnitId;
  16. reply();
  17. }
  18. }
  19. }