From b9a6e7e896b451e9c915e782a1789b2afe079cc9 Mon Sep 17 00:00:00 2001
From: lcy <1459594991@qq.com>
Date: 星期三, 03 十二月 2025 19:16:01 +0800
Subject: [PATCH] 76 聊天系统-客户端
---
Main/System/Chat/ChatPlayerMineCell.cs | 97 +++++++++++++++++++-----------------------------
1 files changed, 38 insertions(+), 59 deletions(-)
diff --git a/Main/System/Chat/ChatPlayerMineCell.cs b/Main/System/Chat/ChatPlayerMineCell.cs
index 846df2b..a265049 100644
--- a/Main/System/Chat/ChatPlayerMineCell.cs
+++ b/Main/System/Chat/ChatPlayerMineCell.cs
@@ -1,71 +1,50 @@
锘縰sing System.Collections;
using UnityEngine;
using UnityEngine.UI;
-using EnhancedUI.EnhancedScroller;
- public class ChatPlayerMineCell : ScrollerUI
+public class ChatPlayerMineCell : MonoBehaviour
+{
+ [SerializeField] AvatarCell avatarCell;
+ [SerializeField] RectTransform m_avatarRect;
+ [SerializeField] OfficialTitleCell title;
+ [SerializeField] Text m_PlayerName;
+ [SerializeField] ChatBubbleBehaviour m_ChatBubble;
+ [SerializeField] float spacing = 5.0f;
+ ChatManager manager { get { return ChatManager.Instance; } }
+ public void Refresh(CellView cell)
{
- // [SerializeField] AvatarCell avatarCell;
- [SerializeField] RectTransform m_avatarRect;
- [SerializeField] Text m_VipLv;
- [SerializeField] Text m_PlayerName;
- [SerializeField] Text m_ChatTime;
- [SerializeField] ChatBubbleBehaviour m_ChatBubble;
- [SerializeField] float spacing = 5.0f;
+ if (!manager.TryGetChatData(ChatManager.Instance.nowChatChannel, cell.index, out TalkData data))
+ return;
- // PhantasmPavilionModel phantasmPavilionModel { get { return ModelCenter.Instance.GetModel<PhantasmPavilionModel>(); } }
- public override void Refresh(CellView cell)
+ m_ChatBubble.DisplayContent(data.Content);
+
+ int bubbleID = ChatBubbleHelper.GetMyChatBubbleID();
+ m_ChatBubble.DisplayBubble(bubbleID, (int)PlayerDatas.Instance.baseData.PlayerID);
+
+ avatarCell.InitUI(AvatarHelper.GetAvatarModel((int)PlayerDatas.Instance.baseData.PlayerID,
+ PlayerDatas.Instance.baseData.face,
+ PlayerDatas.Instance.baseData.facePic));
+ avatarCell.button.SetListener(() =>
{
- ChatData data = ChatCenter.Instance.GetChatData(ChatManager.Instance.presentChatType, cell.index);
- if (data == null)
- {
- return;
- }
- var chatUserData = data as ChatUeseData;
- m_ChatBubble.DisplayContent(data.content);
+ });
- // TODO YYL
- // int bubbleID = phantasmPavilionModel.GetNowChatBubbleID();
- // m_ChatBubble.DisplayBubble(bubbleID);
-
- // avatarCell.InitUI(AvatarHelper.GetMyAvatarModel());
- // avatarCell.button.SetListener(() =>
- // {
- // OnFunc(cell);
- // });
-
- m_PlayerName.text = chatUserData.name;
- m_ChatTime.text = data.createTime.ToString("yyyy-MM-dd HH:mm");
- if (chatUserData.vipLv > 0)
- {
- m_VipLv.text = "VIP";//string.Format("V{0}", chatUserData.vipLv);
- }
- else
- {
- m_VipLv.text = string.Empty;
- }
+ title.InitUI(PlayerDatas.Instance.baseData.realmLevel, PlayerDatas.Instance.baseData.TitleID);
+ if (manager.nowChatTab == ChatTab.World)
+ {
+ string serverName = ServerListCenter.Instance.GetServerName(UIHelper.GetServerIDByAccount(PlayerDatas.Instance.baseData.AccID));
+ m_PlayerName.text = Language.Get("Chat08", serverName, PlayerDatas.Instance.baseData.PlayerName);
}
-
- private void OnFunc(CellView cell)
+ else
{
- int index = cell.index;
- ChatData _data = ChatCenter.Instance.GetChatData(ChatManager.Instance.presentChatType, index);
- if (_data == null)
- {
- return;
- }
- ChatUeseData user = _data as ChatUeseData;
- if (user.player == PlayerDatas.Instance.baseData.PlayerID)
- {
- return;
- }
- HrefAnalysis.Inst.ExcuteHrefEvent(string.Format("<a>showplayer={0}</a>", user.player));
- }
-
- public float GetHeight(string content, ArrayList list)
- {
- var minHeight = m_avatarRect.sizeDelta.y;
- var chatHeight = m_ChatBubble.GetBubbleHeight(content, list) + Mathf.Abs(m_ChatBubble.transform.localPosition.y);
- return (chatHeight > minHeight ? chatHeight : minHeight) + spacing;
+ int fmlv = PlayerDatas.Instance.fairyData.mine.FmLV;
+ m_PlayerName.text = Language.Get("Chat08", RichTextMsgReplaceConfig.GetRichReplace("FAMILY", fmlv), PlayerDatas.Instance.baseData.PlayerName);
}
}
+
+ public float GetHeight(string content, ArrayList list)
+ {
+ var minHeight = m_avatarRect.sizeDelta.y;
+ var chatHeight = m_ChatBubble.GetBubbleHeight(content, list) + Mathf.Abs(m_ChatBubble.transform.localPosition.y);
+ return (chatHeight > minHeight ? chatHeight : minHeight) + spacing;
+ }
+}
--
Gitblit v1.8.0