using System.Collections.Generic; using Cysharp.Threading.Tasks; using LitJson; using UnityEngine; using UnityEngine.UI; public class QYBattleFailWin : UIBase { [SerializeField] AvatarCell myAvatarCell; [SerializeField] AvatarCell enemyAvatarCell; [SerializeField] TextEx txtMyName; [SerializeField] TextEx txtEnemyName; [SerializeField] TextEx txtFuncName; [SerializeField] Button tipHeroCultivateBtn; [SerializeField] Button tipEquipBtn; [SerializeField] Button tipHeroPosBtn; [SerializeField] ButtonEx detailBtn; JsonData jsonData; string battleName = BattleConst.QYBattleField; protected override void InitComponent() { detailBtn.SetListener(() => { BattleSettlementManager.Instance.OpenBattleDetailWin(battleName); }); tipHeroCultivateBtn.AddListener(() => { CloseWindow(); }); tipEquipBtn.AddListener(() => { CloseWindow(); }); tipHeroPosBtn.AddListener(() => { CloseWindow(); UIManager.Instance.OpenWindow(); }); } protected override void OnPreOpen() { jsonData = BattleSettlementManager.Instance.GetBattleSettlement(battleName); if (jsonData == null) { DelayCloseWindow().Forget(); return; } Display(); if (!FirstChargeManager.Instance.GetLocalFail()) { FirstChargeManager.Instance.SetLocalFail(); } FirstChargeManager.Instance.TryPopWin(); } protected override void OnPreClose() { BattleSettlementManager.Instance.WinShowOver(battleName); } // B4 20 回合制战斗状态 #tagMCTurnFightState 通用的结算状态 State 4-结算奖励 // Msg 中额外信息 // "tagPlayerID":对战的目标ID, // "atkAddScore":发起方增加的积分,可能为0, // "defDecScore":被击方减少的积分,可能为0, // itemInfo:奖励物品列表,可能为空 void Display() { if (!jsonData.ContainsKey("tagPlayerID")) return; uint tagPlayerID = (uint)jsonData["tagPlayerID"]; if (!QunyingManager.Instance.TryGetPlayerInfo(tagPlayerID, out QunyingMatchInfo info)) return; uint enemyFace = info.Face; uint enemyFacePic = info.FacePic; myAvatarCell.InitUI(AvatarHelper.GetAvatarModel((int)PlayerDatas.Instance.baseData.PlayerID, PlayerDatas.Instance.baseData.face, PlayerDatas.Instance.baseData.facePic)); enemyAvatarCell.InitUI(AvatarHelper.GetAvatarModel((int)tagPlayerID, (int)enemyFace, (int)enemyFacePic)); enemyAvatarCell.SetListener(() => { AvatarHelper.TryViewOtherPlayerInfo((int)tagPlayerID, viewPlayerLineupType: (int)BattlePreSetType.Qunying); }); txtMyName.text = PlayerDatas.Instance.baseData.PlayerName; txtEnemyName.text = UIHelper.ServerStringTrim(info.PlayerName); int funcId = (int)FuncOpenEnum.Qunying; txtFuncName.text = FuncOpenLVConfig.HasKey(funcId) ? FuncOpenLVConfig.Get(funcId).Name : string.Empty; } }