using System.Collections.Generic;
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
namespace vnxbqy.UI
|
{
|
public class FairySiegeHelpCell : CellView
|
{
|
[SerializeField] ButtonEx btnRule;
|
[SerializeField] ButtonEx btnGet;
|
[SerializeField] ImageEx imgHave;
|
[SerializeField] List<ItemCell> itemCells;
|
[SerializeField] TextEx txtFinishInfo;
|
[SerializeField] Slider slider;
|
[SerializeField] Text txtNum;
|
[SerializeField] Image imgRed;
|
FairySiegeHelpModel model { get { return ModelCenter.Instance.GetModel<FairySiegeHelpModel>(); } }
|
|
public void Display(int id)
|
{
|
OperationFamilyRechargeConn act;
|
OperationTimeHepler.Instance.TryGetOperation(FairySiegeHelpModel.operaType, out act);
|
int needNum = act.needPlayers[index];
|
txtFinishInfo.text = Language.Get("FamilyRechargeTogether4", needNum);
|
slider.value = (float)model.rechargePlayerIDs.Count / needNum;
|
txtNum.text = model.rechargePlayerIDs.Count + "/" + needNum;
|
for (int i = 0; i < itemCells.Count; i++)
|
{
|
if (i < act.rechargeInfo[needNum].Length)
|
{
|
itemCells[i].SetActive(true);
|
int itemID = (int)act.rechargeInfo[needNum][i].ItemID;
|
itemCells[i].Init(new ItemCellModel(itemID, false, (ulong)act.rechargeInfo[needNum][i].ItemCount));
|
itemCells[i].button.AddListener(() => { ItemTipUtility.Show(itemID); });
|
}
|
else
|
{
|
itemCells[i].SetActive(false);
|
}
|
}
|
int memberCnt = 0;
|
PlayerFairyData.FairyData fairy = PlayerDatas.Instance.fairyData.fairy;
|
if (fairy != null)
|
{
|
FamilyConfig cfg = FamilyConfig.Get(fairy.FamilyLV);
|
memberCnt = cfg.memberCnt;
|
}
|
int state = model.GetAwardState(index);
|
imgHave.SetActive(state == 2);
|
int getNum = 0;
|
model.getAwardPlayerNums.TryGetValue(needNum, out getNum);
|
//gotInfo.text = Language.Get("FamilyRechargeTogether6", getNum, memberCnt);
|
btnGet.SetActive(state != 2);
|
imgRed.SetActive(state == 1);
|
btnGet.interactable = state == 1;
|
btnGet.SetColorful(null, state == 1);
|
btnGet.AddListener(() => { model.SendGetAward(needNum); });
|
btnRule.SetListener(() =>
|
{
|
model.nowIndex = index;
|
WindowCenter.Instance.Open<FairySiegeHelpListWin>();
|
});
|
}
|
}
|
}
|