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