//-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Monday, January 28, 2019 //-------------------------------------------------------- using System; using UnityEngine; using UnityEngine.UI; using vnxbqy.UI; using System.Collections.Generic; public class CrossServerQualifyingRaceCell : ILBehaviour { Text timeStr; Text name; Text desc; Image bg; List raceNameList = new List() { "CrossServerQualifying16", "CrossServerQualifying16", "CrossServerQualifying16", "CrossServerQualifying16", "CrossServerQualifying17", "CrossServerQualifying17", "CrossServerQualifying38", "CrossServerQualifying38", "CrossServerQualifying18", "CrossServerQualifying39", "CrossServerQualifying40", "CrossServerQualifying41", }; protected override void Awake() { timeStr = proxy.GetWidgtEx("time"); name = proxy.GetWidgtEx("name"); desc = proxy.GetWidgtEx("desc"); bg = proxy.GetWidgtEx("bg"); } public void Display(int listIndex) { int stateValue = CrossServerQualifyingModel.Instance.raceList[listIndex]; var id = ILChampionshipTimeConfig.GetBattleID(stateValue); var config = ILChampionshipTimeConfig.Get(id); var index = CrossServerQualifyingModel.Instance.GetOpenTimeIndex(); var showTime = CrossServerQualifyingModel.Instance.openTimes[index].AddDays(config.StartDay - 1); showTime = showTime.AddSeconds(config.StartHour * 60 * 60 + config.StartMinute * 60); timeStr.text = StringUtility.Contact(showTime.ToString("yyyy-MM-dd HH:mm"), " -> ", config.EndHour.ToString("D2"), ":", config.EndMinute.ToString("D2")); name.text = Language.Get(raceNameList[listIndex]); bg.SetActiveIL(listIndex % 2 == 0); int groupMark = stateValue / 10; int battleNum = listIndex % 4 + 1; //服务端约定 最后一场groupMark == 2比赛下发结果的顺序为 1v2,5v6,3v4,7v8,其他按正常顺序 if (groupMark == 2) { if (battleNum == 2) { battleNum = 3; } else if (battleNum == 3) { battleNum = 2; } } if (CrossServerQualifyingModel.Instance.battleInfo.ContainsKey((uint)groupMark)) { if (CrossServerQualifyingModel.Instance.battleInfo[(uint)groupMark].ContainsKey((uint)battleNum)) { var battle = CrossServerQualifyingModel.Instance.battleInfo[(uint)groupMark][(uint)battleNum]; var playerAName = Language.Get("UnDetermind"); var playerBName = Language.Get("UnDetermind"); if (CrossServerQualifyingModel.Instance.fightersInfo.ContainsKey(battle.PlayerIDA)) { playerAName = CrossServerQualifyingModel.Instance.fightersInfo[battle.PlayerIDA].PlayerName; if (battle.WinPlayerID == battle.PlayerIDA) { playerAName = UIHelper.AppendColor(TextColType.Purple, playerAName); } } if (CrossServerQualifyingModel.Instance.fightersInfo.ContainsKey(battle.PlayerIDB)) { playerBName = CrossServerQualifyingModel.Instance.fightersInfo[battle.PlayerIDB].PlayerName; if (battle.WinPlayerID == battle.PlayerIDB) { playerBName = UIHelper.AppendColor(TextColType.Purple, playerBName); } } desc.text = Language.Get("CrossServerQualifying37", playerAName, playerBName); } else { desc.text = Language.Get("UnDetermind"); } } else { desc.text = Language.Get("UnDetermind"); } } }