using System.Collections; using UnityEngine; using UnityEngine.UI; 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) { if (!manager.TryGetChatData(ChatManager.Instance.nowChatChannel, cell.index, out TalkData data)) return; m_ChatBubble.DisplayContent(data.Content, true); 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(() => { }); 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); } else { 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; } }