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 { /// /// 创建一个邮件箱 /// /// /// /// /// /// /// /// public static MailBox Create(Scene scene, MailBoxType mailBoxType, long sendAccountId, Mail mail, int expireTime, List accountId = null) { var mailBox = Entity.Create(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; } /// /// 创建一个邮件箱 /// /// /// /// /// /// /// /// /// /// /// /// public static MailBox Create(Scene scene, MailType mailType, MailBoxType mailBoxType, string title, string content, int money, List items, long sendAccountId, int expireTime, List accountId = null) { var mail = MailFactory.Create(scene, mailType,title, content, money, items); return Create(scene, mailBoxType, sendAccountId, mail, expireTime, accountId); } }