36 lines
937 B
C#
36 lines
937 B
C#
using SoulstormReplayReader.Core.Utils;
|
|
|
|
namespace SoulstormReplayReader.Core.Domain.ChatMessage;
|
|
|
|
public readonly struct ChatMessageModel
|
|
{
|
|
public readonly int Ticks;
|
|
public readonly string SenderName;
|
|
public readonly int SenderId;
|
|
public readonly string Text;
|
|
public readonly SenderType From;
|
|
public readonly ReceiverType To;
|
|
|
|
public ChatMessageModel(
|
|
int ticks,
|
|
string senderName,
|
|
int senderId,
|
|
string text,
|
|
SenderType from,
|
|
ReceiverType to
|
|
)
|
|
{
|
|
Ticks = ticks;
|
|
SenderName = senderName;
|
|
SenderId = senderId;
|
|
Text = text;
|
|
From = from;
|
|
To = to;
|
|
}
|
|
|
|
public string FormattedTime => TicksFormatter.ShortFormat(Ticks);
|
|
|
|
public string FromTo => From == SenderType.System ? "(All) System:" : $"({To}) {SenderName}:";
|
|
|
|
public override string ToString() => $"[{FormattedTime}] {FromTo} {Text}";
|
|
} |