32 lines
871 B
C#
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();
|
|
}
|
|
} |