using System.Collections.Generic; using UnityEngine; public class ArenaChallengeCell : MonoBehaviour { [SerializeField] AvatarCell avatarCell; [SerializeField] TextEx txtName; [SerializeField] TextEx txtAddScore; [SerializeField] TextEx txtFightPoint; [SerializeField] OfficialTitleCell officialTitleCell; [SerializeField] List itemCells; [SerializeField] ButtonEx btnChallenge; ArenaMatchInfo arenaMatchInfo; void Start() { btnChallenge.SetListener(() => { if (arenaMatchInfo == null) return; // 货币不足 if (!UIHelper.CheckMoneyCount(ArenaManager.Instance.ChallengeMoneyType, ArenaManager.Instance.NeedChallengeMoneyCnt, 1)) return; ArenaManager.Instance.atkPlayerId = arenaMatchInfo.PlayerID; ArenaManager.Instance.SendTurnFight(arenaMatchInfo.PlayerID); }); } public void Display(int index) { List list = ArenaManager.Instance.matchInfoList; if (list.IsNullOrEmpty() || index < 0 || index >= list.Count) return; arenaMatchInfo = list[index]; avatarCell.InitUI(AvatarHelper.GetAvatarModel((int)arenaMatchInfo.PlayerID, (int)arenaMatchInfo.Face, (int)arenaMatchInfo.FacePic)); txtName.text = UIHelper.ServerStringTrim(arenaMatchInfo.PlayerName); txtFightPoint.text = UIHelper.ReplaceLargeArtNum(arenaMatchInfo.FightPower); txtAddScore.text = Language.Get("Arena16", ArenaManager.Instance.GetChallengePoints(index)); officialTitleCell.InitUI(arenaMatchInfo.RealmLV, (int)arenaMatchInfo.TitleID); int[][] rewards = ArenaManager.Instance.fixedChallengeRewards; for (int i = 0; i < itemCells.Count; i++) { var itemCell = itemCells[i]; if (!rewards.IsNullOrEmpty() && i < rewards.Length) { int itemCellIndex = i; itemCell.SetActive(true); itemCell.Init(new ItemCellModel(rewards[i][0], true, rewards[i][1])); itemCell.button.SetListener(() => ItemTipUtility.Show(rewards[itemCellIndex][0], true)); } else { itemCell.SetActive(false); } } } }