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