提交示例代码
This commit is contained in:
62
邮件系统课程完整代码/Server/Hotfix/Mail/Helper/MailBoxFactory.cs
Normal file
62
邮件系统课程完整代码/Server/Hotfix/Mail/Helper/MailBoxFactory.cs
Normal file
@@ -0,0 +1,62 @@
|
||||
using Fantasy.Entitas;
|
||||
using Fantasy.Helper;
|
||||
// ReSharper disable ConditionIsAlwaysTrueOrFalseAccordingToNullableAPIContract
|
||||
#pragma warning disable CS8625 // Cannot convert null literal to non-nullable reference type.
|
||||
|
||||
namespace Fantasy;
|
||||
|
||||
public static class MailBoxFactory
|
||||
{
|
||||
/// <summary>
|
||||
/// 创建一个邮件箱
|
||||
/// </summary>
|
||||
/// <param name="scene"></param>
|
||||
/// <param name="mailBoxType"></param>
|
||||
/// <param name="sendAccountId"></param>
|
||||
/// <param name="mail"></param>
|
||||
/// <param name="expireTime"></param>
|
||||
/// <param name="accountId"></param>
|
||||
/// <returns></returns>
|
||||
public static MailBox Create(Scene scene, MailBoxType mailBoxType, long sendAccountId, Mail mail, int expireTime, List<long> accountId = null)
|
||||
{
|
||||
var mailBox = Entity.Create<MailBox>(scene, true, true);
|
||||
mailBox.SendAccountId = sendAccountId;
|
||||
mailBox.Mail = mail;
|
||||
mailBox.MailBoxType = mailBoxType;
|
||||
mailBox.CreateTime = TimeHelper.Now;
|
||||
mailBox.ExpireTime = mailBox.CreateTime + expireTime;
|
||||
|
||||
if (accountId == null || accountId.Count <= 0)
|
||||
{
|
||||
return mailBox;
|
||||
}
|
||||
|
||||
foreach (var raId in accountId)
|
||||
{
|
||||
mailBox.AccountId.Add(raId);
|
||||
}
|
||||
|
||||
return mailBox;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 创建一个邮件箱
|
||||
/// </summary>
|
||||
/// <param name="scene"></param>
|
||||
/// <param name="mailType"></param>
|
||||
/// <param name="mailBoxType"></param>
|
||||
/// <param name="title"></param>
|
||||
/// <param name="content"></param>
|
||||
/// <param name="money"></param>
|
||||
/// <param name="items"></param>
|
||||
/// <param name="sendAccountId"></param>
|
||||
/// <param name="expireTime"></param>
|
||||
/// <param name="accountId"></param>
|
||||
/// <returns></returns>
|
||||
public static MailBox Create(Scene scene, MailType mailType, MailBoxType mailBoxType, string title, string content, int money, List<Item> items,
|
||||
long sendAccountId, int expireTime, List<long> accountId = null)
|
||||
{
|
||||
var mail = MailFactory.Create(scene, mailType,title, content, money, items);
|
||||
return Create(scene, mailBoxType, sendAccountId, mail, expireTime, accountId);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user