using System; using UnityEngine; using UnityEngine.UI; using EnhancedUI.EnhancedScroller; namespace Snxxz.UI { [XLua.Hotfix] public class CrossServerOneVsOneMatchResultCell : ScrollerUI { [SerializeField] Text dateTime; [SerializeField] Text info; [SerializeField] GameObject victory; [SerializeField] GameObject failure; CrossServerOneVsOneModel crossServerModel { get { return ModelCenter.Instance.GetModel(); } } public override void Refresh(CellView cell) { var results = crossServerModel.localSaveResults; var resultInfo = results[cell.index]; dateTime.text = resultInfo.PkEndTime; int offlineType = 0; bool isOffline = resultInfo.TryGetOffLine(out offlineType); int winStreakScore = 0; bool isWinStreak = resultInfo.TryGetWinStreakScore(out winStreakScore); if(isOffline) { switch(offlineType) { case 1: info.text = Language.Get("CrossServer105", resultInfo.VsPlayerName, resultInfo.AddScore); break; case 2: if(isWinStreak) { info.text = Language.Get("CrossServer104", resultInfo.VsPlayerName, resultInfo.AddScore, resultInfo.WinStreak,winStreakScore); } else { info.text = Language.Get("CrossServer103",resultInfo.VsPlayerName,resultInfo.AddScore); } break; } } else { int winNum = 0; int failNum = 0; resultInfo.GetWinAndFailNum(out winNum,out failNum); string compareScore = StringUtility.Contact(winNum,":",failNum); if (isWinStreak) { info.text = Language.Get("CrossServer102", resultInfo.VsPlayerName,compareScore,resultInfo.AddScore, resultInfo.WinStreak, winStreakScore); } else { info.text = Language.Get("CrossServer101", resultInfo.VsPlayerName,compareScore,resultInfo.AddScore); } } bool isWinner = PlayerDatas.Instance.baseData.PlayerID == resultInfo.WinnerID ? true : false; victory.SetActive(isWinner); failure.SetActive(!isWinner); } } }