using System.Collections.Generic; using FairyGUI; using UI.Arena; using UnityEngine; namespace GFGGame { public class ArenaViewManager : SingletonBase { public Dictionary textureDic = new Dictionary(); public void Clear() { textureDic.Clear(); } public void UpdateDanIcon(GLoader loader, int danLv) { } public void UpdateFightRoundResult(GObject obj, int index, out bool isWin) { int scoreType = ArenaDataManager.Instance.ThemeList[index]; long myScore = ArenaDataManager.Instance.myFightScore[index]; int myCardId = ArenaDataManager.Instance.DressupList[index].cardId; int myHeadId = ArenaDataManager.Instance.DressupList[index].headId; long targetScore = ArenaDataManager.Instance.targetFightScore[index]; ArenaTargetData targetData = ArenaDataManager.Instance.Targets[index]; int targetCardId = 0; int targetHeadId = 0; string res = ""; if (targetData.Type == ArenaFightTargetType.PLAYER) { targetCardId = targetData.RoleDressupList[index].cardId; targetHeadId = targetData.RoleDressupList[index].headId; } else { targetCardId = targetData.RobotDressupList[index].cardId; res = targetData.RobotDressupList[index].res; } UI_ListResultItem item = UI_ListResultItem.Proxy(obj); item.m_loaScore.url = ResPathUtil.GetScorePath(scoreType); item.m_txtMyScore.text = myScore.ToString(); item.m_txtTargetScore.text = targetScore.ToString(); ItemCfg cardCfg = ItemCfgArray.Instance.GetCfg(myCardId); item.m_loaMyCard.m_comCardmask.m_loaCard.url = ResPathUtil.GetCardSmallPath(cardCfg.res); ItemCfg targetCardCfg = ItemCfgArray.Instance.GetCfg(targetCardId); item.m_loaMyCard.m_comCardmask.m_loaCard.url = ResPathUtil.GetCardSmallPath(targetCardCfg.res); RoleInfoManager.Instance.UpdateHead(item.m_comMyHead, myHeadId, 0); if (targetCardId > 0) { RoleInfoManager.Instance.UpdateHead(item.m_comTargetHead, targetHeadId, 0); } else { RoleInfoManager.Instance.UpdateNpcHead(item.m_comTargetHead, res); } isWin = myScore > targetScore; UI_ListResultItem.ProxyEnd(); } public void UpdateFightResult(GObject obj, List myScores, List targetScore) { UI_ComFightResult com = UI_ComFightResult.Proxy(obj); bool isWin = UpdateFightScoreResult(com.m_comResult.target, myScores, targetScore); com.m_loaResule.url = isWin ? "ui://Arena/kstzjj_slsl" : "ui://Arena/kstzjj_shib"; UI_ComFightResult.ProxyEnd(); } public bool UpdateFightScoreResult(GObject obj, List myScores, List targetScore) { int winCount = 0; long myAllScore = 0; long targetAllScore = 0; for (int i = 0; i < myScores.Count; i++) { myAllScore += myScores[i]; targetAllScore += targetScore[i]; if (myScores[i] > targetScore[i]) winCount++; } UI_ComFightScoreResult com = UI_ComFightScoreResult.Proxy(obj); com.m_txtMyFightScore.text = myAllScore.ToString(); com.m_txtTargetFightScore.text = targetAllScore.ToString(); UI_ComFightScoreResult.ProxyEnd(); bool isWin = winCount >= 2; return isWin; } } }