From a8a24587a60e19b34ef81dd2e5ae09a64ee07a35 Mon Sep 17 00:00:00 2001
From: lcy <1459594991@qq.com>
Date: 星期四, 04 十二月 2025 10:13:41 +0800
Subject: [PATCH] 76 聊天系统-客户端 修复删除数据时没有重新刷新滚动条布局
---
Main/System/Chat/ChatManager.cs | 2 ++
Main/System/Chat/ChatWin.cs | 15 +++++++++++++++
2 files changed, 17 insertions(+), 0 deletions(-)
diff --git a/Main/System/Chat/ChatManager.cs b/Main/System/Chat/ChatManager.cs
index 0691b0c..5d12a44 100644
--- a/Main/System/Chat/ChatManager.cs
+++ b/Main/System/Chat/ChatManager.cs
@@ -338,6 +338,7 @@
public readonly int maxTalkCount = 1000; //鑱婂ぉ鏁伴噺涓婇檺
public readonly int deleteTalkCount = 300; //鑱婂ぉ鏁伴噺涓婇檺鏃跺垹闄ゅ墠澶氬皯鏉�
+ public event Action<ChatChannel> OnDeleteTalkEvent;
void TryDeleteTalkData(ChatChannel type)
{
@@ -346,6 +347,7 @@
if (datas.Count < maxTalkCount)
return;
datas.RemoveRange(0, deleteTalkCount);
+ OnDeleteTalkEvent?.Invoke(type);
}
public int currentDay = -1;
diff --git a/Main/System/Chat/ChatWin.cs b/Main/System/Chat/ChatWin.cs
index 88441ed..1793fce 100644
--- a/Main/System/Chat/ChatWin.cs
+++ b/Main/System/Chat/ChatWin.cs
@@ -99,6 +99,7 @@
manager.OnChatTabChangeEvent += OnChatTabChange;
manager.OnUpdateTalkEvent += OnUpdateTalkEvent;
manager.OnUpdateTalkCacheListEvent += OnUpdateTalkCacheList;
+ manager.OnDeleteTalkEvent += OnDeleteTalkEvent;
scrChatTab.OnRefreshCell += OnRefreshChatTabCell;
scrWorld.OnGetDynamicSize += OnGetWorldChatDynamicSize;
@@ -110,6 +111,7 @@
clickScreenOtherSpace.AddListener(OnClickScreenOtherSpace);
GlobalTimeEvent.Instance.secondEvent += OnSecondEvent;
+
isSettingOpen = false;
transSettings.SetActive(isSettingOpen);
@@ -127,6 +129,7 @@
manager.OnChatTabChangeEvent -= OnChatTabChange;
manager.OnUpdateTalkEvent -= OnUpdateTalkEvent;
manager.OnUpdateTalkCacheListEvent -= OnUpdateTalkCacheList;
+ manager.OnDeleteTalkEvent -= OnDeleteTalkEvent;
scrChatTab.OnRefreshCell -= OnRefreshChatTabCell;
scrWorld.OnGetDynamicSize -= OnGetWorldChatDynamicSize;
@@ -139,6 +142,18 @@
clickScreenOtherSpace.RemoveAllListeners();
}
+ private void OnDeleteTalkEvent(ChatChannel channel)
+ {
+ if (channel == ChatChannel.World)
+ {
+ CreateScroller(scrWorld, channel);
+ }
+ else if (channel == ChatChannel.Guild)
+ {
+ CreateScroller(scrGuild, channel);
+ }
+ }
+
private void OnRefreshGuildCell(ScrollerDataType type, CellView cell)
{
OnRefreshCell(type, cell);
--
Gitblit v1.8.0