using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace vnxbqy.UI { public class TeamInvitationBehaviour : ScrollItem { [SerializeField] Image m_Realm; [SerializeField] Text m_PlayerName; [SerializeField] Text m_Job; [SerializeField] Text m_Mission; [SerializeField] Image m_LevelSign; [SerializeField] Text m_Level; [SerializeField] Button m_Select; [SerializeField] Image m_Selected; TeamModel model { get { return ModelCenter.Instance.GetModel(); } } DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel(); } } TeamInvitation invitation; public override void Display(object _data) { base.Display(_data); invitation = (TeamInvitation)_data; m_Realm.SetActive(invitation.realm > 0); if (invitation.realm > 0) { var realmConfig = RealmConfig.Get(invitation.realm); if (realmConfig != null) { m_Realm.SetSprite(realmConfig.Img); } } m_PlayerName.text = invitation.playerName; m_Job.text = OccupationNameConfig.GetOccupationName(invitation.job); m_LevelSign.SetActive(false); m_Level.text =invitation.level.ToString(); var mission = invitation.mission; var targetConfig = TeamTargetConfig.Get(mission.mapId); if (targetConfig != null) { var dungeonId = dungeonModel.GetDungeonId(mission.mapId, mission.mapEx); var config = DungeonConfig.Get(dungeonId); m_Mission.text = config.FBName; } else { m_Mission.text = Language.Get("RightHereMap"); } m_Selected.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.SetActive(invitation.playerId == _playerId); } } }