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