From 6eee9a039f60effa84b7acfa78f4ca94837988cc Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期四, 03 一月 2019 16:56:20 +0800
Subject: [PATCH] 5375【1.4.100】私聊提醒
---
System/Chat/ChatContentBehaviour.cs | 45 ++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 44 insertions(+), 1 deletions(-)
diff --git a/System/Chat/ChatContentBehaviour.cs b/System/Chat/ChatContentBehaviour.cs
index fd811e4..1fc6100 100644
--- a/System/Chat/ChatContentBehaviour.cs
+++ b/System/Chat/ChatContentBehaviour.cs
@@ -17,7 +17,10 @@
[SerializeField] Button m_NewInfoBtn;
[SerializeField] Button m_LockAreaBtn;
[SerializeField] Image m_LockAreaCheck;
- [SerializeField, Header("鏄剧ず鍖哄煙澶у皬")] float m_ContentDisplaySize = 630;
+ [SerializeField] RectTransform m_ContainerDisplay;
+ [SerializeField] RectTransform m_ContainerPrivateChatRemind;
+ [SerializeField] RectTransform m_Scroller;
+
[SerializeField, Header("閿佸畾褰撳墠鍖哄煙姣斾緥"), Range(0, 1)] float m_Percent = 0.3f;
[SerializeField] ChatPlayerMineCell m_ChatMineCell;
@@ -34,9 +37,14 @@
}
set
{
+ bool isChange = m_ChatType != value;
ResetNewInfo();
m_ChatType = value;
DisplayChatContent();
+ if (isChange)
+ {
+ DisplayChatRemind();
+ }
}
}
@@ -80,6 +88,7 @@
private void OnEnable()
{
DisplayChatContent();
+ DisplayChatRemind();
ChatCtrl.OnRefreshChat += OnRefreshChat;
ChatCtrl.OnRefreshPteChat += OnRefreshPteChat;
ChatCtrl.OnRefreshSelf += OnRefreshSelf;
@@ -100,7 +109,12 @@
if (m_ChatType == ChatInfoType.Friend)
{
DisplayChatContent();
+ DisplayChatRemind();
JumpPteChatBottom();
+ if (!chatCenter.alreadyChatRemindPlayers.Contains(ChatCtrl.Inst.PteChatID))
+ {
+ chatCenter.alreadyChatRemindPlayers.Add(ChatCtrl.Inst.PteChatID);
+ }
}
}
@@ -310,6 +324,28 @@
m_LockAreaBtn.gameObject.SetActive(m_ChatType != ChatInfoType.Friend);
}
+ private void DisplayChatRemind()
+ {
+ if (m_ContainerPrivateChatRemind != null)
+ {
+ bool requireRemind = false;
+ if (m_ChatType == ChatInfoType.Friend)
+ {
+ if (!chatCenter.alreadyChatRemindPlayers.Contains(ChatCtrl.Inst.PteChatID))
+ {
+ requireRemind = true;
+ }
+ }
+ var displayAreaHeight = m_ContainerDisplay.rect.height;
+ m_ContainerPrivateChatRemind.gameObject.SetActive(requireRemind);
+ if (requireRemind)
+ {
+ displayAreaHeight = m_ContainerDisplay.rect.height - m_ContainerPrivateChatRemind.rect.height;
+ }
+ m_Scroller.sizeDelta = m_Scroller.sizeDelta.SetY(displayAreaHeight);
+ }
+ }
+
float KeepArea()
{
if (m_ChatContentControl.GetNumberOfCells(m_ChatContentControl.m_Scorller) == ChatCtrl.Inst.CHAT_INFO_CNT)
@@ -457,6 +493,13 @@
chatCenter.UpdateChatContent -= UpdateChatContent;
ChatCtrl.Inst.OnPteChatChangeEvent -= OnPteChatChangeEvent;
PlayerDatas.Instance.PlayerDataRefreshInfoEvent -= PlayerDataRefreshInfoEvent;
+ if (m_ChatType == ChatInfoType.Friend)
+ {
+ if (!chatCenter.alreadyChatRemindPlayers.Contains(ChatCtrl.Inst.PteChatID))
+ {
+ chatCenter.alreadyChatRemindPlayers.Add(ChatCtrl.Inst.PteChatID);
+ }
+ }
}
private void PlayerDataRefreshInfoEvent(PlayerDataRefresh refreshType)
--
Gitblit v1.8.0