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<FairySiegeActModel>(); } }
|
FairySiegeHelpModel model { get { return ModelCenter.Instance.GetModel<FairySiegeHelpModel>(); } }
|
|
#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<string> names = new List<string>();
|
int needNum = act.needPlayers[model.nowIndex];
|
List<int> 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);
|
}
|
}
|
}
|