using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using UnityEngine.UI;
|
using TableConfig;
|
|
namespace Snxxz.UI
|
{
|
public class TeamInvitationBehaviour : ScrollItem
|
{
|
[SerializeField]
|
Image m_Realm;
|
[SerializeField]
|
Text m_PlayerName;
|
|
[SerializeField]
|
Text m_Job;
|
[SerializeField]
|
Image m_LevelSign;
|
[SerializeField]
|
Text m_Level;
|
|
[SerializeField]
|
Button m_Select;
|
|
[SerializeField]
|
Image m_Selected;
|
|
TeamModel m_Model;
|
TeamModel model { get { return m_Model ?? (m_Model = ModelCenter.Instance.GetModel<TeamModel>()); } }
|
|
TeamInvitation invitation;
|
public override void Display(object _data)
|
{
|
base.Display(_data);
|
|
invitation = (TeamInvitation)_data;
|
m_Realm.gameObject.SetActive(invitation.realm > 0);
|
if (invitation.realm > 0)
|
{
|
var realmConfig = ConfigManager.Instance.GetTemplate<RealmConfig>(invitation.realm);
|
if (realmConfig != null)
|
{
|
m_Realm.SetSprite(realmConfig.Img);
|
}
|
}
|
|
m_PlayerName.text = invitation.playerName;
|
m_Job.text = OccupationNameConfig.GetOccupationName(invitation.job, invitation.jobLevel);
|
var isNirvanaLevel = invitation.level > GeneralConfig.Instance.greatMasterStartLV;
|
m_LevelSign.gameObject.SetActive(isNirvanaLevel);
|
m_Level.text = isNirvanaLevel ? (invitation.level - GeneralConfig.Instance.greatMasterStartLV).ToString() : invitation.level.ToString();
|
|
m_Selected.gameObject.SetActive(invitation.playerId == model.currentSelectedInvitation);
|
|
m_Select.RemoveAllListeners();
|
m_Select.AddListener(SelectInvitation);
|
model.selectedInvitationChangeEvent -= OnInvitationSelected;
|
model.selectedInvitationChangeEvent += OnInvitationSelected;
|
}
|
|
public override void Dispose()
|
{
|
base.Dispose();
|
m_Select.RemoveAllListeners();
|
model.selectedInvitationChangeEvent -= OnInvitationSelected;
|
}
|
|
private void SelectInvitation()
|
{
|
model.currentSelectedInvitation = invitation.playerId;
|
}
|
|
private void OnInvitationSelected(int _playerId)
|
{
|
m_Selected.gameObject.SetActive(invitation.playerId == _playerId);
|
}
|
|
|
}
|
}
|