using System; using ETModel; namespace ETHotfix { [MessageHandler(AppType.Gate)] public class C2G_LoginGateHandler : AMRpcHandler { protected override async ETTask Run(Session session, C2G_LoginGate request, G2C_LoginGate response, Action reply) { string account = Game.Scene.GetComponent().Get(request.Key); if (account == null) { response.Error = ErrorCode.ERR_ConnectGateKeyError; response.Message = "Gate key验证失败!"; reply(); return; } Player player = ComponentFactory.Create(account); Game.Scene.GetComponent().Add(player); session.AddComponent().Player = player; session.AddComponent(MailboxType.GateSession); response.PlayerId = player.Id; reply(); session.Send(new G2C_TestHotfixMessage() { Info = "recv hotfix message success" }); await ETTask.CompletedTask; } } }