using System.Collections; using UnityEngine; using UnityEngine.UI; public class ChatPlayerOtherCell : 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; avatarCell.InitUI(AvatarHelper.GetAvatarModel((int)data.PlayerID, (int)data.Face, (int)data.PlayerID, data.Job)); avatarCell.button.SetListener(() => { }); title.InitUI(data.RealmLV, (int)data.TitleID); m_ChatBubble.DisplayContent(data.Content, true); int bubbleID = ChatBubbleHelper.GetOtherChatBubbleID(data.Job, (int)data.BubbleBox); m_ChatBubble.DisplayBubble(bubbleID, (int)data.PlayerID); if (manager.nowChatTab == ChatTab.World) { string serverName = ServerListCenter.Instance.GetServerName((int)data.ServerID); m_PlayerName.text = Language.Get("Chat08", serverName, data.Name); } else { FairyMember fairyMember = PlayerDatas.Instance.fairyData.GetMember((int)data.PlayerID); int fmlv = 0; if (fairyMember != null) { fmlv = fairyMember.FmLV; } m_PlayerName.text = Language.Get("Chat08", RichTextMsgReplaceConfig.GetRichReplace("FAMILY", fmlv), data.Name); } } 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; } }