using System.Collections.Generic; using UnityEngine; using vnxbqy.UI; public class CrossServerGodBattleFieldAssortInfoCell : CellView { [SerializeField] TextEx txtLeaderName; [SerializeField] TextEx txtPowerNum; [SerializeField] TextEx txtTip; [SerializeField] ButtonEx btnCancel; [SerializeField] ButtonEx btnRequest; CrossServerGodBattleFieldAssortModel model { get { return ModelCenter.Instance.GetModel(); } } bool isHaveTeam; bool isCaptain; uint teamID; AssortTeamInfo teamInfo; AssortMemberInfo memberInfo; Dictionary teamInfoDict; List teamTypelist; public void Display(int index, CellView cell) { uint teamID = (uint)cell.info.Value.infoInt1; if (!model.TryGetTeamInfoDict(out teamInfoDict) || !teamInfoDict.TryGetValue(teamID, out teamInfo) || !model.TryGetTeamCaptainMemberInfo(teamInfo, out memberInfo) || !model.TryGetTeamTypeList(model.HaveSpace, model.IDLimitType, out teamTypelist)) return; if (model.TeamCount >= model.QueryCnt && teamTypelist.Count - 10 == index) { model.SendQueryFuncTeam(model.FuncMapID, 0, model.LoopIndex, 40, 1, model.isOnlyServerGroupIDLeader ? (byte)2 : (byte)0); } string serverName = ServerListCenter.Instance.GetServerName((int)memberInfo.ServerID); txtLeaderName.text = Language.Get("GodBattleFieldAssort06", Language.Get("BlessedLand043", serverName, model.IsNoTeamName() ? memberInfo.Name : teamInfo.TeamName)); txtPowerNum.text = UIHelper.ReplaceLargeNum(model.GetTeamTotalPower(teamInfo)); btnRequest.SetActive(!model.IsRequest(teamID) && teamInfo.MinFightPower <= PlayerDatas.Instance.baseData.FightPoint); btnCancel.SetActive(model.IsRequest(teamID)); txtTip.SetActive(!model.IsRequest(teamID) && teamInfo.MinFightPower > PlayerDatas.Instance.baseData.FightPoint); txtTip.text = Language.Get("GodBattleFieldAssort45",UIHelper.ReplaceLargeNum(teamInfo.MinFightPower)); btnCancel.SetListener(() => { if (model.IsOpenAction()) { SysNotifyMgr.Instance.ShowTip("GodBattleFieldAssort03"); return; } model.SendFuncTeamMemOP(teamID, model.FuncMapID, 2); }); btnRequest.SetListener(() => { if (model.IsOpenAction()) { SysNotifyMgr.Instance.ShowTip("GodBattleFieldAssort03"); return; } //队伍申请个数已达上限 var teamIDList = model.GetPlayerRequestTeam(); if (teamIDList.Count >= FunctionTeamSetConfig.Get((int)model.FuncMapID).ReqApplyMax) { SysNotifyMgr.Instance.ShowTip("TeamReqJoinApplyFull"); return; } model.SendFuncTeamMemOP(teamID, model.FuncMapID, 1); }); } }