using Fantasy.DataStructure.Collection; using Fantasy.Entitas; namespace Fantasy; /// /// 邮件物流中转中心,用来存放所有离线的邮件。 /// 玩家可以在上线的第一时间去这里领取属于自己的邮件。 /// public class MailBoxManageComponent : Entity { // 定时清楚过期邮件的时间 public const int MailCheckTIme = 10000; // 存放所有邮箱都会在这里,包括发送给个人的和所有人的邮件。 public readonly Dictionary MailBoxes = new Dictionary(); // 个人领取邮件列表 public readonly OneToManyList MailsByAccount = new OneToManyList(); // 按照邮件箱类型存储 public readonly OneToManyList MailsByMailBoxType = new OneToManyList(); // 按照时间排序的邮件箱 public readonly SortedOneToManyList Timers = new SortedOneToManyList(); // 临时的存放过期时间的队列 public readonly Queue TimeOutQueue = new Queue(); // 时间任务的Id public long TimerId; // 最小的时间 public long MinTime; }