//-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Thursday, May 03, 2018 //-------------------------------------------------------- using UnityEngine; using System; using System.Collections.Generic; using LitJson; using System.Linq; public partial class SkyTowerServerChallengeConfig : IConfigPostProcess { public static Dictionary> floorRankAwards = new Dictionary>(); public static Dictionary> floorPassAwards = new Dictionary>(); public void OnConfigParseCompleted() { var jsonCF = JsonMapper.ToObject(passRankRewardInfo); var keyList = jsonCF.Keys.ToList(); var rankAwards = new Dictionary(); for (int i = 0; i < keyList.Count; i++) { var key = keyList[i]; var rankIndex = int.Parse(key); rankAwards[rankIndex] = JsonMapper.ToObject(jsonCF[key].ToJson()); } floorRankAwards[floorId] = rankAwards; jsonCF = JsonMapper.ToObject(serverRewardInfo); var passAwards = new Dictionary(); keyList = jsonCF.Keys.ToList(); for (int i = 0; i < keyList.Count; i++) { var key = keyList[i]; var passIndex = int.Parse(key); passAwards[passIndex] = JsonMapper.ToObject(jsonCF[key].ToJson()); } floorPassAwards[floorId] = passAwards; } //获取排名最近的奖励 public static int[][] GetRankAwards(int floorId, int rank) { if (floorRankAwards.ContainsKey(floorId)) { var rankAwards = floorRankAwards[floorId]; var keyList = rankAwards.Keys.ToList(); keyList.Sort(); for (int i = 0; i < keyList.Count; i++) { var key = keyList[i]; if (rank <= key) { return rankAwards[key]; } } } return null; } //获取全服通关奖励 public static int[][] GetPassAwards(int floorId, int passIndex) { if (floorPassAwards.ContainsKey(floorId)) { var passAwards = floorPassAwards[floorId]; return passAwards[passIndex]; } return null; } }