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;
|
}
|
}
|