using UnityEngine; using UnityEngine.UI; namespace vnxbqy.UI { public class PlayerInfoCell : MonoBehaviour { [SerializeField] Image unSelectImg; [SerializeField] GameObject selectImg; [SerializeField] Text nameText; [SerializeField] Text lvDesText; [SerializeField] Text lvValueText; [SerializeField] Text onlineText; [SerializeField] Image lvIcon; [SerializeField] AvatarCell avatarCell; [SerializeField] Button detailBtn; [SerializeField] RedpointBehaviour behaviour; int playerId = 0; FriendPlayer friendPlayer = null; FriendsModel _friendsModel; FriendsModel friendsModel { get { return _friendsModel ?? (_friendsModel = ModelCenter.Instance.GetModel()); } } Color32 greyColor = new Color32(104,104,104,255); Color32 onlineColor = new Color32(64,28,6,255); public void Init(int playerId,GroupType type,int selectId = 0) { this.playerId = playerId; friendPlayer = friendsModel.GetFirendInfo((uint)playerId, (byte)type); if (friendPlayer == null) return; behaviour.redpointId = friendsModel.GetFriendRedPointId(type,playerId); nameText.text = friendPlayer.PlayerName; onlineText.text = friendsModel.GetOnlineType(friendPlayer.OnlineType); avatarCell.InitUI(AvatarHelper.GetAvatarModel((int)friendPlayer.PlayerID, friendPlayer.Face, friendPlayer.FacePic, friendPlayer.Job)); if (friendPlayer.OnlineType == 1) { unSelectImg.material = null; nameText.color = onlineColor; lvValueText.color = onlineColor; lvDesText.color = onlineColor; lvIcon.material = null; avatarCell.avatarImage.material = null; avatarCell.avatarFrameImage.material = null; } else { unSelectImg.material = MaterialUtility.GetDefaultSpriteGrayMaterial(); nameText.color = greyColor; lvValueText.color = greyColor; lvDesText.color = greyColor; lvIcon.material = MaterialUtility.GetDefaultSpriteGrayMaterial(); avatarCell.avatarImage.material = MaterialUtility.GetDefaultSpriteGrayMaterial(); avatarCell.avatarFrameImage.material = MaterialUtility.GetDefaultSpriteGrayMaterial(); } int nirvanaLv = friendPlayer.LV - friendsModel.OpenGreatLV; if (nirvanaLv > 0) { lvIcon.SetActive(true); lvValueText.text = nirvanaLv.ToString(); } else { lvIcon.SetActive(false); lvValueText.text = friendPlayer.LV.ToString(); } if (selectId != 0 && selectId == this.playerId) { unSelectImg.SetActive(false); selectImg.SetActive(true); } else { unSelectImg.SetActive(true); selectImg.SetActive(false); } detailBtn.RemoveAllListeners(); detailBtn.onClick.AddListener(() => { OnClickDetailBtn(friendPlayer); }); } private void OnClickDetailBtn(FriendPlayer data) { PlayerDetails.ShowPlayerDetails((int)data.PlayerID, null,PlayerDetails.OpenType.Friend); } } }