diff --git a/src/Services/MessagingService.cs b/src/Services/MessagingService.cs index f50332b..b419477 100644 --- a/src/Services/MessagingService.cs +++ b/src/Services/MessagingService.cs @@ -131,6 +131,9 @@ public class MessagingService public ArrayOfCombinedListMessage ConstructCombinedMessageArray(Viking viking, Viking publicViking) { + // get now timestamp + DateTime now = DateTime.UtcNow; + // get all messages in viking board List messages = ctx.Messages.Where(e => e.ToVikingId == publicViking.Id).ToList(); @@ -245,6 +248,28 @@ public class MessagingService } } + // add announcements all the time + Announcement[] announcements = new Announcement[0]; + + if (viking.GameVersion <= ClientVersion.Max_OldJS && (viking.GameVersion & ClientVersion.WoJS) != 0) + announcements = XmlUtil.DeserializeXml(XmlUtil.ReadResourceXmlString("announcements_wojs")).Announcements; + else if (viking.GameVersion == ClientVersion.SS) + announcements = XmlUtil.DeserializeXml(XmlUtil.ReadResourceXmlString("announcements_ss")).Announcements; + + foreach (var announcement in announcements) + { + if(announcement.Type == AnnouncementType.Text) + { + CombinedListMessage announcementMsg = new CombinedListMessage + { + MessageType = 5, + MessageBody = XmlUtil.SerializeXml(announcement), + MessageDate = now + }; + combinedListMessages.Add(announcementMsg); + } + } + // save any changes made to db ctx.SaveChanges();