コード例 #1
0
        public TextLogEntry CreateTextLogEntry(ChannelSettings channel, uint senderId, List <Payload> senderPayLoads, List <Payload> payloads)
        {
            ChatText text = new ChatText
            {
                Channel       = channel,
                SenderId      = senderId,
                Timestamp     = DateTime.Now,
                IncludePrefix = true,
                Sender        = null
            };

            if (senderPayLoads != null)
            {
                var senderInfo = ProcessPayloads(senderPayLoads, channel);

                if (senderInfo.Count() > 0)
                {
                    var sender = senderInfo[0];
                    switch (channel.Name)
                    {
                    case "StandardEmote":
                        break;

                    case "CustomEmote":
                        text.Sender = sender;
                        break;

                    case "TellOutgoing":
                        sender.Text = $">> {sender.Text}: ";
                        text.Sender = sender;
                        break;

                    case "TellIncoming":
                        sender.Text = $"{sender.Text} >> ";
                        text.Sender = sender;
                        break;

                    case "Party":
                        sender.Text = $"({sender.Text}) ";
                        text.Sender = sender;
                        break;

                    default:
                        sender.Text = $"{sender.Text}: ";
                        text.Sender = sender;
                        break;
                    }
                }
            }
            else
            {
                text.IncludePrefix = false;
            }

            text.Text = ProcessPayloads(payloads, channel);

            TextLogEntry textLogEntry = new TextLogEntry(text);

            return(textLogEntry);
        }
コード例 #2
0
ファイル: Classes.cs プロジェクト: ms2mml/ffxiv-chat-extender
            public void AddLine(TextLogEntry line)
            {
                if (line.Text == null)
                {
                    return;
                }

                if (CheckLineFilter(string.Join("", line.Text.Select(x => x.Text))))
                {
                    NeedsUpdateLogs.Add(line);
                    ScrollOnce = AutoScroll;
                }
            }