32 lines
1.1 KiB
C#
32 lines
1.1 KiB
C#
using Tiger.Communication.Messages.Interfaces;
|
|
using Tiger.Communication.Messages.Types;
|
|
using Tiger.Game.LandingView;
|
|
|
|
namespace Tiger.Communication.Messages.Outgoing.Landingview;
|
|
|
|
public class PromoArticlesMessageComposer : IMessageComposer
|
|
{
|
|
private readonly ICollection<PromoArticle> _promoArticles;
|
|
|
|
public PromoArticlesMessageComposer(ICollection<PromoArticle> promoArticles)
|
|
{
|
|
_promoArticles = promoArticles;
|
|
}
|
|
|
|
public OutgoingHeaders Header => OutgoingHeaders.PromoArticles;
|
|
public void Compose(ServerMessage message)
|
|
{
|
|
message.AppendInt32(_promoArticles.Count);
|
|
|
|
foreach (var promoArticle in _promoArticles)
|
|
{
|
|
message.AppendInt32(promoArticle.Id);
|
|
message.AppendString(promoArticle.Title);
|
|
message.AppendString(promoArticle.BodyText);
|
|
message.AppendString(promoArticle.ButtonText);
|
|
message.AppendInt32((int)promoArticle.LinkType);
|
|
message.AppendString(promoArticle.LinkContent);
|
|
message.AppendString(promoArticle.ImageUrl);
|
|
}
|
|
}
|
|
} |