using vnxbqy.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()); } } 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.SetActive(_playerId == ChatCtrl.Inst.PteChatID); m_PlayerName.text = _friendPlayer.PlayerName; m_LvSign.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); } } }