|
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<FriendsModel>());
|
}
|
}
|
|
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);
|
}
|
|
}
|
}
|