Example #1
0
        /// <summary>
        /// 通过[玩家等级]二分快速查表
        /// </summary>
        /// <param name="dwLv">玩家等级</param>
        /// <returns></returns>
        public static IEnumerable <RewardFindDataBase> Query(this List <RewardFindDataBase> sorted, uint dwLv)
        {
            var key = new RewardFindDataBase()
            {
                dwLv = dwLv
            };
            var comparer = new Comparer1();
            var from     = sorted.BinarySearch(key, comparer);

            if (from < 0)
            {
                yield break;
            }
            var to = from + 1;

            while (from > 0 && comparer.Compare(key, sorted[from - 1]) == 0)
            {
                from--;
            }
            while (to < sorted.Count && comparer.Compare(key, sorted[to]) == 0)
            {
                to++;
            }
            for (var i = from; i < to; i++)
            {
                yield return(sorted[i]);
            }
        }
Example #2
0
    private void SetMoneyContent()
    {
        uint level             = DataManager.Manager <WelfareManager>().Previous_Lv;
        RewardFindDataBase tab = GameTableManager.Instance.GetTableItem <RewardFindDataBase>(level, (int)m_rewardData.id);

        if (tab != null)
        {
            CurrencyIconData d1 = CurrencyIconData.GetCurrencyIconByMoneyType((ClientMoneyType)tab.ord_Type);
            CurrencyIconData d2 = CurrencyIconData.GetCurrencyIconByMoneyType((ClientMoneyType)tab.pre_Type);

            UIManager.GetAtlasAsyn(d1.smallIconName, ref m_priceAsynSeed, () =>
            {
                if (null != sp1)
                {
                    sp1.atlas = null;
                }
            }, sp1);
            UIManager.GetAtlasAsyn(d2.smallIconName, ref m_priceAsynSeed2, () =>
            {
                if (null != sp2)
                {
                    sp2.atlas = null;
                }
            }, sp2);

            lb1.text = tab.ord_Num.ToString();
            lb2.text = tab.pre_Num.ToString();
        }
    }
Example #3
0
        /// <summary>
        /// 通过[玩家等级 + 日常ID]二分快速查表
        /// </summary>
        /// <param name="dwLv">玩家等级</param>
        /// <param name="dwID">日常ID</param>
        /// <returns></returns>
        public static RewardFindDataBase Query(this List <RewardFindDataBase> sorted, uint dwLv, uint dwID)
        {
            var key = new RewardFindDataBase()
            {
                dwLv = dwLv, dwID = dwID
            };
            var comparer = new Comparer2();
            var index    = sorted.BinarySearch(key, comparer);

            return(index >= 0 ? sorted[index] : default(RewardFindDataBase));
        }