Ejemplo n.º 1
0
        /// <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));
        }
Ejemplo n.º 2
0
    /// <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);
    }