Files
ServerStudy/邮件系统课程完整代码/Server/Hotfix/Mail/Handler/Outer/C2Mail_OpenMailRequestHandler.cs
2026-03-05 11:39:06 +08:00

32 lines
871 B
C#

using Fantasy.Async;
using Fantasy.Network.Interface;
namespace Fantasy;
public class C2Mail_OpenMailRequestHandler : RouteRPC<MailUnit, C2Mail_OpenMailRequest, Mail2C_OpenMailResposne>
{
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<MailComponent>().OpenMail(request.MailId);
if (errorCode != 0)
{
response.ErrorCode = errorCode;
return;
}
if (!request.ReturnMailInfo)
{
return;
}
response.MailInfo = mail.ToMailInfo();
}
}