using Fantasy.Async; using Fantasy.Network.Interface; namespace Fantasy; public class C2Mail_OpenMailRequestHandler : RouteRPC { protected override async FTask Run(MailUnit mailUnit, C2Mail_OpenMailRequest request, Mail2C_OpenMailResposne response, Action reply) { if (request.MailId <= 0) { response.ErrorCode = 100; return; } // 根据这个MailId来拿到邮件的详细信息 var (errorCode, mail) = await mailUnit.GetComponent().OpenMail(request.MailId); if (errorCode != 0) { response.ErrorCode = errorCode; return; } if (!request.ReturnMailInfo) { return; } response.MailInfo = mail.ToMailInfo(); } }