예제 #1
0
 void SetNextRank(HoursemanShipUPDegree db, Color c)
 {
     m_label_suduNum.text       = string.Format("{0}%", (db.speed / 100));
     m_label_suduNum.color      = c;
     m_label_zhuanghuaNum.text  = string.Format("{0}%", (db.scaling / 100));
     m_label_zhuanghuaNum.color = c;
 }
예제 #2
0
    void InitUPLevelItem()
    {
        int n = m_trans_ItemRoot.childCount;

        for (int i = 0; i < n; i++)
        {
            Transform t = m_trans_ItemRoot.Find(i.ToString());
            UIKnightLevelUPItemGrid grid = t.GetComponent <UIKnightLevelUPItemGrid>();
            if (grid == null)
            {
                grid = t.gameObject.AddComponent <UIKnightLevelUPItemGrid>();
            }
            if (m_knightLevelUPIdList == null)
            {
                break;
            }
            if (i < m_knightLevelUPIdList.Count)
            {
                grid.IsBreak = false;
                grid.SetGridInfo(m_knightLevelUPIdList[i]);
                string expstr = GameTableManager.Instance.GetGlobalConfig <string>("Knight_ExpItem", m_knightLevelUPIdList[i]);
                if (expstr != null)
                {
                    if (i == 0)
                    {
                        m_label_exe1Num.text = expstr;
                    }
                    else if (i == 1)
                    {
                        m_label_exe2Num.text = expstr;
                    }
                    else if (i == 2)
                    {
                        m_label_exe3Num.text = expstr;
                    }
                }
            }
        }
        UIKnightLevelUPItemGrid breakGrid = m_trans_breakitem.GetComponent <UIKnightLevelUPItemGrid>();

        if (breakGrid == null)
        {
            breakGrid = m_trans_breakitem.gameObject.AddComponent <UIKnightLevelUPItemGrid>();
        }
        breakGrid.IsBreak = true;
        uint breakLv = m_rideMgr.KnightBreakLevel;
        uint needNum = 0;
        HoursemanShipUPDegree hdb = GameTableManager.Instance.GetTableItem <HoursemanShipUPDegree>(breakLv + 1);

        if (hdb != null)
        {
            needNum = hdb.itemNum;
        }
        breakGrid.SetGridInfo(breakItemID.ToString(), needNum);
    }
예제 #3
0
        /// <summary>
        /// 通过[等阶]二分快速查表
        /// </summary>
        /// <param name="degree">等阶</param>
        /// <returns></returns>
        public static HoursemanShipUPDegree Query(this List <HoursemanShipUPDegree> sorted, uint degree)
        {
            var key = new HoursemanShipUPDegree()
            {
                degree = degree
            };
            var comparer = new Comparer1();
            var index    = sorted.BinarySearch(key, comparer);

            return(index >= 0 ? sorted[index] : default(HoursemanShipUPDegree));
        }
예제 #4
0
    public bool IsKnightCanBreak()
    {
        bool bCanBreak = false;
        uint rank      = DataManager.Manager <RideManager>().KnightBreakLevel;
        uint curExp    = DataManager.Manager <RideManager>().KnightExp;
        uint lv        = DataManager.Manager <RideManager>().KnightLevel;

        HoursemanShipUPLevel  updb   = GameTableManager.Instance.GetTableItem <HoursemanShipUPLevel>(lv);
        HoursemanShipUPDegree nextdb = GameTableManager.Instance.GetTableItem <HoursemanShipUPDegree>(rank + 1);

        if (nextdb != null && updb.breakLevel != 0 && curExp >= updb.uplevelexp)
        {
            int num = DataManager.Manager <ItemManager>().GetItemNumByBaseId(nextdb.breakItemID);
            if (num >= nextdb.itemNum)
            {
                bCanBreak = true;
            }
        }
        return(bCanBreak);
    }
예제 #5
0
    public bool IsShowRideRedPoint()
    {
        uint rank   = DataManager.Manager <RideManager>().KnightBreakLevel;
        uint curExp = DataManager.Manager <RideManager>().KnightExp;
        uint lv     = DataManager.Manager <RideManager>().KnightLevel;

        HoursemanShipUPLevel updb = GameTableManager.Instance.GetTableItem <HoursemanShipUPLevel>(lv + 1);

        if (updb == null)
        {
            return(false);
        }
        HoursemanShipUPDegree nextdb = GameTableManager.Instance.GetTableItem <HoursemanShipUPDegree>(rank + 1);

        if (nextdb != null && updb.breakLevel != 0 && curExp >= updb.uplevelexp)
        {
            return(IsKnightCanBreak());
        }
        else
        {
            return(IsKnightCanUP());
        }
    }
예제 #6
0
    void InitRankUI()
    {
        uint rank   = DataManager.Manager <RideManager>().KnightBreakLevel;
        uint curExp = DataManager.Manager <RideManager>().KnightExp;
        uint lv     = DataManager.Manager <RideManager>().KnightLevel;
        HoursemanShipUPDegree db = GameTableManager.Instance.GetTableItem <HoursemanShipUPDegree>(rank);

        if (db != null)
        {
            SetCurRank(db, m_beforeColor);
        }
        HoursemanShipUPLevel  updb   = GameTableManager.Instance.GetTableItem <HoursemanShipUPLevel>(lv);
        HoursemanShipUPDegree nextdb = GameTableManager.Instance.GetTableItem <HoursemanShipUPDegree>(rank + 1);

        if (nextdb != null && updb.breakLevel != 0 && curExp >= updb.uplevelexp)
        {
            SetNextRank(nextdb, m_afterColor);
        }
        else
        {
            SetCurRank(db, m_beforeColor);
            SetNextRank(db, m_beforeColor);
        }
    }