Exemple #1
0
        /// <summary>
        /// 通过[复活ID]二分快速查表
        /// </summary>
        /// <param name="dwID">复活ID</param>
        /// <returns></returns>
        public static ReliveDataBase Query(this List <ReliveDataBase> sorted, uint dwID)
        {
            var key = new ReliveDataBase()
            {
                dwID = dwID
            };
            var comparer = new Comparer1();
            var index    = sorted.BinarySearch(key, comparer);

            return(index >= 0 ? sorted[index] : default(ReliveDataBase));
        }
Exemple #2
0
    public override void SetGridData(object data)
    {
        OnAwake();

        base.SetGridData(data);

        m_info = data as ReLiveDataManager.ReLiveData;
        ReliveDataBase db = GameTableManager.Instance.GetTableItem <ReliveDataBase>(m_info.reliveId);

        if (m_info == null || db == null)
        {
            Engine.Utility.Log.Error("--->>>数据出错!!!");
            return;
        }

        //按钮倒计时
        if (db.btnEnable == 0)
        {
            m_Btn.isEnabled = false;
        }
        else if (db.btnEnable == 1)
        {
            m_Btn.isEnabled = true;
        }
        SetBtnDes(db.strName, m_info.reliveCd);

        ReLiveDataManager RDMgr = DataManager.Manager <ReLiveDataManager>();

        //消耗货币
        uint costNum = 0;

        costNum = db.costStart + db.costAdd * RDMgr.ReliveTimes;
        if (costNum > db.costMax)
        {
            costNum = db.costMax;
        }
        SetCost(costNum);
        string moneyIcon = MainPlayerHelper.GetMoneyIconByType((ClientMoneyType)db.moneyType);

        SetMoneyIcon(moneyIcon);
    }