using System.Collections.Generic; using UnityEngine; namespace vnxbqy.UI { public class FairySiegeGuessAwardCell : CellView { [SerializeField] ButtonEx btnHave; [SerializeField] ImageEx imgRed; [SerializeField] List itemCells = new List(); [SerializeField] TextEx txtGuessName; [SerializeField] TextEx txtHave; int state; int awardID; FairySiegeActModel model { get { return ModelCenter.Instance.GetModel(); } } public void Display(int id) { if (!ActGuessConfig.Has(id)) return; var config = ActGuessConfig.Get(id); state = model.GetGuessState();//0 未开始 1 竞猜中 2 竞猜结束 3 领奖期 awardID = config.AwardID; int[][] AwardItemList = config.AwardItemList; for (int i = 0; i < itemCells.Count; i++) { if (i < AwardItemList.Length) { int itemId = AwardItemList[i][0]; itemCells[i].Init(new ItemCellModel(itemId, false, (ulong)AwardItemList[i][1])); itemCells[i].button.SetListener(() => ItemTipUtility.Show(itemId)); itemCells[i].SetActive(true); } else { itemCells[i].SetActive(false); } } if (state == 3) { txtGuessName.text = StringUtility.Contact( Language.Get(StringUtility.Contact("FairySiegeGuess", id - 1)), Language.Get("FairySiege149", model.rightInfoListDict != null && model.rightInfoListDict.ContainsKey(awardID) ? model.rightInfoListDict[awardID] : 0)); } else { txtGuessName.text = Language.Get(StringUtility.Contact("FairySiegeGuess", id - 1)); } var list = model.GetMatchedEntryIDs(); bool isHaveAward = model.IsHaveAward(0); btnHave.SetActive(state == 3 && !list.IsNullOrEmpty() && list.Contains(id) && !isHaveAward); txtHave.SetActive(state == 3 && !list.IsNullOrEmpty() && list.Contains(id) && isHaveAward); btnHave.SetListener(() => { model.SendAward(0); }); } } }