yyl
2025-12-22 2a845f0babe52ac324b3cbe294db7dcec9346042
Main/System/Guild/GuildBaseWin.cs
@@ -87,7 +87,7 @@
        ShowGuildInfo();
    }
    private void OnUpdateTalkEvent(ChatChannel channel, TalkData data)
    private void OnUpdateTalkEvent(ChatChannel channel, TalkData data, bool isSendBullet)
    {
        if (channel != ChatChannel.Guild)
            return;
@@ -247,6 +247,7 @@
        }
    }
    List<TalkData> showTalkDatas = new List<TalkData>();
    void ShowTalkInfo()
    {
        if (!ChatManager.Instance.TryGetTalkData(ChatChannel.Guild, out List<TalkData> datas) || datas.IsNullOrEmpty())
@@ -254,15 +255,30 @@
            talkInfoText.text = string.Empty;
            return;
        }
        showTalkDatas.Clear();
        StringBuilder stringBuilder = new StringBuilder();
        int startIndex = Mathf.Max(datas.Count - 2, 0);
        for (int i = startIndex; i < datas.Count; i++)
        // 从后向前遍历,找到最后两条玩家消息(过滤掉系统消息和日期消息)
        int count = 0;
        for (int i = datas.Count - 1; i >= 0 && count < 2; i--)
        {
            TalkData data = datas[i];
            // 只保留玩家消息:非系统消息且非日期消息
            if (!data.isSystem && !data.isDate)
            {
                showTalkDatas.Insert(0, data); // 插入到列表开头以保持时间顺序
                count++;
            }
        }
        StringBuilder stringBuilder = new StringBuilder();
        for (int i = 0; i < showTalkDatas.Count; i++)
        {
            TalkData data = showTalkDatas[i];
            stringBuilder.Append(UIHelper.AppendColor(GetGuildChatAreaColor(data), GetGuildChatAreaContent(data)));
            stringBuilder.AppendLine();
        }
        talkInfoText.text = stringBuilder.ToString();
    }
}