示例#1
0
        public override async ETTask C2G_EnterMapHandler(Session session, C2G_EnterMap request, G2C_EnterMap response, Action reply)
        {
            Console.WriteLine("C2G_EnterMapHandler");
            Player player = session.GetComponent <SessionPlayerComponent>().Player;

            var createUnitRequest = new G2M_CreateUnit()
            {
                PlayerId = player.Id, GateSessionId = session.InstanceId
            };

            createUnitRequest.UnitId = player.UnitId;

            // 在map服务器上创建战斗Unit
            long mapInstanceId = StartConfigComponent.Instance.GetByName("Map1").SceneInstanceId;
            var  createUnit    = (M2G_CreateUnit)await ActorMessageSenderComponent.Instance.Call(mapInstanceId, createUnitRequest);

            player.UnitId = createUnit.UnitId;
            DBComponent.Instance.Save(player).Coroutine();

            response.UnitId = createUnit.UnitId;
            reply();
        }
示例#2
0
 public virtual async ETTask C2G_EnterMapHandler(ETModel.Session session, C2G_EnterMap request, G2C_EnterMap response, Action reply)
 {
 }