using Snxxz.UI;
|
using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
namespace EnhancedUI.EnhancedScroller
|
{
|
public class ChatRecentlyCell : ScrollerUI
|
{
|
[SerializeField] Image m_PlayerBG;
|
[SerializeField] Image m_Select;
|
[SerializeField] Text m_PlayerName;
|
[SerializeField] Text m_Lv;
|
[SerializeField] Image m_LvSign;
|
[SerializeField] Text m_LvText;
|
[SerializeField] Button m_DetailBtn;
|
|
FriendsModel m_FriendModel;
|
FriendsModel friendModel
|
{
|
get
|
{
|
return m_FriendModel ?? (m_FriendModel = ModelCenter.Instance.GetModel<FriendsModel>());
|
}
|
}
|
public override void Refresh(CellView cell)
|
{
|
var _playerId = cell.index;
|
var _dict = friendModel.GetFriendInfoDict((byte)GroupType.RecentContact);
|
FriendPlayer _friendPlayer = null;
|
if (_dict != null && _dict.ContainsKey((uint)_playerId))
|
{
|
_friendPlayer = _dict[(uint)_playerId];
|
}
|
else if (friendModel.tempFriendData != null && friendModel.tempFriendData.PlayerID == _playerId)
|
{
|
_friendPlayer = friendModel.tempFriendData;
|
}
|
if (_friendPlayer == null)
|
{
|
return;
|
}
|
m_Select.gameObject.SetActive(_playerId == ChatCtrl.Inst.PteChatID);
|
m_PlayerName.text = _friendPlayer.PlayerName;
|
m_LvSign.gameObject.SetActive(false);
|
var _lv = _friendPlayer.LV ;
|
m_LvText.text = (_lv > 0 ? _lv : _friendPlayer.LV).ToString();
|
m_DetailBtn.onClick.RemoveAllListeners();
|
m_DetailBtn.onClick.AddListener(() =>
|
{
|
PlayerDetails.ShowPlayerDetails(_playerId, null);
|
});
|
SetOnline(_friendPlayer.OnlineType == 1);
|
}
|
|
private void SetOnline(bool _online)
|
{
|
m_PlayerBG.material = _online ? MaterialUtility.GetUIDefaultGraphicMaterial() : MaterialUtility.GetDefaultSpriteGrayMaterial();
|
m_LvSign.material = _online ? MaterialUtility.GetUIDefaultGraphicMaterial() : MaterialUtility.GetDefaultSpriteGrayMaterial();
|
m_Lv.color = _online ? UIHelper.GetUIColor(TextColType.NavyBrown) : UIHelper.GetUIColor(TextColType.White, true);
|
m_LvText.color = _online ? UIHelper.GetUIColor(TextColType.NavyBrown) : UIHelper.GetUIColor(TextColType.White, true);
|
m_PlayerName.color = _online ? UIHelper.GetUIColor(TextColType.NavyBrown) : UIHelper.GetUIColor(TextColType.White, true);
|
}
|
}
|
}
|
|