using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace Snxxz.UI { [XLua.Hotfix] public class FairyFeastMemberCell : CellView { [SerializeField] Text m_PlayerName; [SerializeField] Text m_Level; [SerializeField] Text m_Duty; [SerializeField] Text m_State; [SerializeField] Image m_Realm; [SerializeField] Button m_Transmit; FairyFeastModel model { get { return ModelCenter.Instance.GetModel(); } } public void Display(int index) { m_Transmit.RemoveAllListeners(); if (index >= model.displayFairyMembers.Count) { return; } var fairyMember = model.displayFairyMembers[index]; m_PlayerName.text = fairyMember.Name; m_Level.text = fairyMember.LV.ToString(); m_Duty.text = Language.Get(string.Format("L102{0}", fairyMember.FamilyLV + 1)); if (fairyMember.Exattr2 != 0) { m_State.text = Language.Get("Offline"); m_State.color = UIHelper.GetUIColor(TextColType.White, true); } else if (!model.fairyFeastPlayers.Contains(fairyMember.PlayerID) && fairyMember.PlayerID != PlayerDatas.Instance.baseData.PlayerID) { m_State.text = Language.Get("FairyFeastFarFrom"); m_State.color = UIHelper.GetUIColor(TextColType.Red, true); } else { m_State.text = Language.Get("L1025"); m_State.color = UIHelper.GetUIColor(TextColType.Green, true); } var realmLevel = fairyMember.OfficialRank; var config = RealmConfig.Get(realmLevel); if (realmLevel>0&& config != null) { m_Realm.gameObject.SetActive(true); m_Realm.SetSprite(config.Img); } else { m_Realm.gameObject.SetActive(false); } m_Transmit.gameObject.SetActive(fairyMember.PlayerID != PlayerDatas.Instance.baseData.PlayerID); if (fairyMember.PlayerID != PlayerDatas.Instance.baseData.PlayerID) { m_Transmit.AddListener(() => { OnTransmit(fairyMember); }); } } private void OnTransmit(PlayerFairyData.FairyMember fairyMember) { if (fairyMember != null) { model.Transmit(fairyMember); } } } }