using System;
///
/// 邮件
///
public class MailProxy : ProxyBase
{
///
/// 邮件最大过期时间
///
public const int MaxMailExpireTs = 7 * 24 * 3600;
///
/// 邮件最大数量
///
public const int MaxMailCount = 100;
///
/// init
///
public MailProxy() =>this.opeCode = OpeCode.ope_mail;
///
/// [6701][邮件-拉取我的邮件列表]
///
/// 客户端的最大(最新)邮件id,(默认值为0)(服务端会拉取比它靠后的邮件)
/// 成功回调处理
public void QueryMyMails(Action callback = null)
{
Post(CmdCode.cmd_mail_getmaillist, new object[] { }, callback);
}
///
/// [6702] 读取/打开 邮件
///
/// 邮件id
///
public void ReadMail(int mailId, Action callback = null)
{
Post(CmdCode.cmd_mail_readmail, new object[] { mailId }, resp => callback?.Invoke());
}
///
/// [6703] 邮件 - 领取附件奖励
///
/// 邮件id
///
public void DrawAMail(int mailId, Action callback = null)
{
Post(CmdCode.cmd_mail_DrawReward, new object[] { mailId },
ret =>
{
// 同步数据
var p = UserProxy.Instance.player;
p.baseInfo = ret.baseInfo;
p.collectHero.InitData(ret.hero,p);
callback?.Invoke(ret.reward);
});
}
///
/// [6703] 邮件 - 领取附件奖励
///
/// 邮件id
///
public void DrawAllMails(Action callback = null)
{
Post(CmdCode.cmd_mail_DrawAllRewards, new object[] { },
ret =>
{
//var ret = resp.result.ToObject();
// 同步数据
var p = UserProxy.Instance.player;
p.baseInfo = ret.baseInfo;
p.collectHero.InitData(ret.hero,p);
callback?.Invoke(ret);
});
}
///
/// 6705 不论邮件是否读取,删除
///
///
///
public void Delmails(Action callback = null)
{
Post(CmdCode.cmd_mail_delMailReaded, new object[] { }, callback);
}
///
/// 6706 请求最新的未处理的 邮件的数量
///
///
public void QueryMyMailsNotHandledNum(Action callback = null)
{
Post(CmdCode.cmd_mail_notReadMailNum, new object[] { }, resp => callback?.Invoke(resp.result["num"].ToObject()));
}
///
/// 6707 发放内部测试道具邮件
///
///
public void SendTestingItems(string itemId, string num, Action callback = null)
{
Post(CmdCode.cmd_mail_SendTestItems, new object[] { itemId, num }, callback);
}
}