namespace Supercell.Laser.Logic.Home.Items { using Supercell.Laser.Logic.Data.Helper; using Supercell.Laser.Titan.DataStream; public class Notification { public int Id { get; set; } public int Index { get; set; } public bool IsViewed { get; set; } public bool RewardClaimed { get; set; } public int TimePassed { get; set; } public string MessageEntry { get; set; } public string PrimaryMessageEntry { get; set; } public string SecondaryMessageEntry { get; set; } public string ButtonMessageEntry { get; set; } public string FileLocation { get; set; } public string FileSha { get; set; } public string ExtLint { get; set; } public string Sender { get; set; } public int ThumbnailSender { get; set; } public int NameColorSender { get; set; } public int skin { get; set; } public int hero { get; set; } public List HeroesIds { get; set; } public List HeroesTrophies { get; set; } public List HeroesTrophiesReseted { get; set; } public List StarpointsAwarded { get; set; } public int DonationCount; public int SkinID; public int brawlerId; public int BrawlerID { get => brawlerId; set => brawlerId = value; } public Notification() { HeroesIds = new List(); HeroesTrophies = new List(); HeroesTrophiesReseted = new List(); StarpointsAwarded = new List(); } public void Encode(ByteStream stream) { stream.WriteVInt(Id); stream.WriteInt(Index); stream.WriteBoolean(IsViewed); long timestamp = DateTime.Now.Ticks / TimeSpan.TicksPerSecond; int timestamps = Convert.ToInt32(timestamp % int.MaxValue); stream.WriteInt(timestamps - TimePassed); stream.WriteString(MessageEntry); if (Id == 82) { stream.WriteStringReference(Sender); stream.WriteVInt(ThumbnailSender); stream.WriteVInt(28000000); stream.WriteVInt(43000000 + NameColorSender); stream.WriteVInt(0); } else if (Id == 83) { stream.WriteInt(0); stream.WriteStringReference(PrimaryMessageEntry); stream.WriteInt(0); stream.WriteStringReference(SecondaryMessageEntry); stream.WriteInt(0); stream.WriteStringReference(ButtonMessageEntry); stream.WriteStringReference(FileLocation); stream.WriteStringReference(FileSha); stream.WriteStringReference(ExtLint); } else if (Id == 79) { stream.WriteVInt(HeroesIds.Count); for (int i = 0; i < HeroesIds.Count; i++) { stream.WriteVInt(HeroesIds[i]); stream.WriteVInt(HeroesTrophies[i]); stream.WriteVInt(HeroesTrophiesReseted[i]); stream.WriteVInt(StarpointsAwarded[i]); } } else { stream.WriteVInt(29000000 + skin); } if (Id == 89 || Id == 88 || Id == 91) { stream.WriteVInt(DonationCount); } if (Id == 85) { stream.WriteVInt(DonationCount); } if (Id == 90) { if (SkinID < 29000000) { stream.WriteVInt(5000008); } else { stream.WriteVInt(SkinID); } stream.WriteVInt(DonationCount); } if (Id == 93) { stream.WriteVInt(GlobalId.CreateGlobalId(16, brawlerId)); } if (Id == 95) { stream.WriteVInt(DonationCount); } } } }