using System.Collections.Generic; using UnityEngine; namespace vnxbqy.UI { public class FairySiegeHelpListWin : Window { [SerializeField] ButtonEx btnClose; [SerializeField] TextEx txtCount; [SerializeField] RichText txtName; FairySiegeActModel fairySiegeActModel { get { return ModelCenter.Instance.GetModel(); } } FairySiegeHelpModel model { get { return ModelCenter.Instance.GetModel(); } } #region Build-in protected override void AddListeners() { btnClose.SetListener(CloseClick); } protected override void BindController() { } protected override void OnPreOpen() { DisplayName(); } protected override void OnPreClose() { } protected override void OnAfterOpen() { } protected override void OnAfterClose() { } #endregion private void DisplayName() { OperationFamilyRechargeConn act; OperationTimeHepler.Instance.TryGetOperation(FairySiegeHelpModel.operaType, out act); if (act == null || act.needPlayers == null || model.nowIndex < 0 || model.nowIndex >= act.needPlayers.Count) { txtCount.text = Language.Get("FairySiege104", 0, fairySiegeActModel.campMemberDict.IsNullOrEmpty() ? 0 : fairySiegeActModel.campMemberDict.Count); txtName.text = string.Empty; return; } List names = new List(); int needNum = act.needPlayers[model.nowIndex]; List getMember; model.getAwardMembers.TryGetValue(needNum, out getMember); if (getMember.IsNullOrEmpty() || fairySiegeActModel.campMemberDict == null) { txtCount.text = Language.Get("FairySiege104", 0, fairySiegeActModel.campMemberDict.IsNullOrEmpty() ? 0 : fairySiegeActModel.campMemberDict.Count); txtName.text = string.Empty; return; } foreach (var item in getMember) { if (!fairySiegeActModel.campMemberDict.ContainsKey((uint)item)) continue; var info = fairySiegeActModel.campMemberDict[(uint)item]; if (!names.Contains(info.Name)) { names.Add(info.Name); } } txtName.text = StringUtility.Contact(string.Join(", ", names)); txtCount.text = Language.Get("FairySiege104", names.Count, fairySiegeActModel.campMemberDict.Count); } } }