using Snxxz.UI;
|
using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
namespace EnhancedUI.EnhancedScroller
|
{
|
public class ChatMineVoiceCell : ScrollerUI
|
{
|
[SerializeField] Text m_VoiceTxt;
|
[SerializeField] Button m_VoiceBtn;
|
[SerializeField] RichText m_ChatTxt;
|
[SerializeField] Image m_ChatBubble;
|
[SerializeField] Text vipText;
|
[SerializeField] Text playerNameText;
|
[SerializeField] Text m_ChatTime;
|
[SerializeField] Image m_ChatIcon;
|
[SerializeField] ImageFitterText m_Fitter;
|
|
ChatCenter m_ChatCenter;
|
ChatCenter chatCenter
|
{
|
get
|
{
|
return m_ChatCenter ?? (m_ChatCenter = ModelCenter.Instance.GetModel<ChatCenter>());
|
}
|
}
|
public override void Refresh(CellView cell)
|
{
|
ChatUeseData _data = chatCenter.GetChatData(ChatCtrl.Inst.presentChatType, cell.index) as ChatUeseData;
|
if (_data == null)
|
{
|
return;
|
}
|
#region 更新高度
|
m_ChatTxt.AutoNewLine = false;
|
m_ChatTxt.text = _data.content;
|
if (m_ChatTxt.preferredWidth > m_ChatTxt.rectTransform.rect.width)
|
{
|
m_ChatTxt.alignment = TextAnchor.UpperLeft;
|
}
|
else
|
{
|
m_ChatTxt.alignment = TextAnchor.UpperRight;
|
}
|
m_Fitter.FiterRealTxtWidth = m_ChatTxt.alignment == TextAnchor.UpperRight;
|
m_Fitter.gameObject.SetActive(!string.IsNullOrEmpty(_data.content));
|
m_ChatTxt.AutoNewLine = true;
|
#endregion
|
|
m_ChatIcon.SetSprite(GeneralDefine.GetJobHeadPortrait(_data.job, 0));
|
playerNameText.text = _data.name;
|
m_ChatTime.text = _data.createTime.ToString("yyyy-MM-dd HH:mm");
|
if (_data.vipLv > 0)
|
{
|
vipText.text = string.Format("V{0}", _data.vipLv);
|
}
|
else
|
{
|
vipText.text = string.Empty;
|
}
|
m_VoiceBtn.onClick.RemoveAllListeners();
|
m_VoiceTxt.text = _data.soundLength.ToString("0.0");
|
m_VoiceBtn.onClick.AddListener(() =>
|
{
|
OnVoiceClick(_data, Mathf.Min(8.0f, _data.soundLength));
|
});
|
}
|
|
private void OnVoiceClick(ChatUeseData _chat, float _length)
|
{
|
if (_chat != null)
|
{
|
chatCenter.PlaySpeech(_chat.player, _chat.soundTick, _length);
|
}
|
}
|
}
|
}
|
|