using ProtoBuf; using System.Collections.Generic; using Fantasy; using NBC; using NBC.Network.Interface; using NBC.Serialize; #pragma warning disable CS8618 namespace NBC { [ProtoContract] public partial class MailInfo : AMessage, IProto { public static MailInfo Create(Scene scene) { return scene.MessagePoolComponent.Rent(); } public override void Dispose() { Id = default; Title = default; Content = default; CreateTime = default; ExpireTime = default; MailType = default; MailState = default; Items.Clear(); #if FANTASY_NET || FANTASY_UNITY GetScene().MessagePoolComponent.Return(this); #endif } [ProtoMember(1)] public long Id { get; set; } [ProtoMember(2)] public string Title { get; set; } [ProtoMember(3)] public string Content { get; set; } [ProtoMember(4)] public long CreateTime { get; set; } [ProtoMember(5)] public long ExpireTime { get; set; } [ProtoMember(6)] public int MailType { get; set; } [ProtoMember(7)] public int MailState { get; set; } [ProtoMember(8)] public List Items = new List(); } }