using UnityEngine; using UnityEngine.UI; using vnxbqy.UI; public class CrossServerGodBattleFieldAssortNoTeamWin : Window { [SerializeField] RichText popConfirmInfo; [SerializeField] Button CreateTeam; [SerializeField] Button GoTeam; [SerializeField] Button closeBtn; CrossServerGodBattleFieldAssortModel model { get { return ModelCenter.Instance.GetModel(); } } protected override void BindController() { } protected override void AddListeners() { CreateTeam.SetListener(() => { if (model.IsOpenAction()) { SysNotifyMgr.Instance.ShowTip("GodBattleFieldAssort03"); return; } int serverID = UIHelper.GetServerIDByAccount(PlayerDatas.Instance.baseData.AccID); string serverName = ServerListCenter.Instance.GetServerName(serverID); uint funcMapID = model.FuncMapID; uint funcMapEx = 0; string teamName = PlayerDatas.Instance.baseData.PlayerName; ushort minLV = 0; uint minFightPower = 0; uint minFightPowerEx = 0; byte serverOnly = 0; byte needCheck = 1; if (model.IsNoTeamName()) { model.SendCreateFuncTeam(funcMapID, funcMapEx, string.Empty, minLV, minFightPower, minFightPowerEx, serverOnly, needCheck); } else { model.SendCreateFuncTeam(funcMapID, funcMapEx, teamName, minLV, minFightPower, minFightPowerEx, serverOnly, needCheck); } }); GoTeam.SetListener(() => { WindowCenter.Instance.Close(); WindowCenter.Instance.Open(); }); closeBtn.SetListener(() => { WindowCenter.Instance.Close(); }); } protected override void OnPreOpen() { model.UpdateTeamInfoEvent += OnUpdateTeamInfoEvent; popConfirmInfo.text = Language.Get("GodBattleFieldAssort25"); } protected override void OnAfterOpen() { if (TimeUtility.OpenDay < GeneralDefine.crossServerBattleFieldOpenDay) { //防范其他情况误打开 Close(); return; } } protected override void OnAfterClose() { } protected override void OnPreClose() { model.UpdateTeamInfoEvent -= OnUpdateTeamInfoEvent; } void OnUpdateTeamInfoEvent() { bool isHaveTeam = model.TryGetPlayerTeamInfo(out bool isCaptain, out uint teamID, out AssortTeamInfo teamInfo); if (isHaveTeam) { if (isCaptain) { WindowCenter.Instance.Close(); WindowCenter.Instance.Open(); } else { WindowCenter.Instance.Close(); WindowCenter.Instance.Open(); } } } }