/// <summary> /// 通过[次数]二分快速查表 /// </summary> /// <param name="times">次数</param> /// <returns></returns> public static ArenaResetCostDataBase Query(this List <ArenaResetCostDataBase> sorted, uint times) { var key = new ArenaResetCostDataBase() { times = times }; var comparer = new Comparer1(); var index = sorted.BinarySearch(key, comparer); return(index >= 0 ? sorted[index] : default(ArenaResetCostDataBase)); }
/// <summary> /// 重置挑战次数消耗 /// </summary> /// <returns></returns> public uint GetResetChallengeTimesCost() { uint times = m_resetChallengeTimes + 1; List <ArenaResetCostDataBase> list = GameTableManager.Instance.GetTableList <ArenaResetCostDataBase>(); ArenaResetCostDataBase resetChallenge = list.Find((ArenaResetCostDataBase data) => times == data.times); if (times > list.Count) { return(list[list.Count - 1].cost); } return(resetChallenge.cost); }