Пример #1
0
    public override void SetGridData(object data)
    {
        base.SetGridData(data);
        if (null == data)
        {
            return;
        }
        TableID = (uint)data;
        TreasureBossDataBase tabData = GameTableManager.Instance.GetTableItem <TreasureBossDataBase>(TableID);

        if (tabData == null)
        {
            return;
        }
        if (null != m_tex_Icon)
        {
            UIManager.GetTextureAsyn(tabData.icon, ref m_iconCASD, () =>
            {
                if (null != m_tex_Icon)
                {
                    m_tex_Icon.mainTexture = null;
                }
            }, m_tex_Icon);
        }
        m_lab_name.text = tabData.bossName;

        SetBossState(tabData);
    }
Пример #2
0
    void SetBossState(TreasureBossDataBase tabData)
    {
        string msg   = "";
        bool   match = false;

        if (tabData.bossType == 1)
        {
            m_lab_lv.text = tabData.bossLv.ToString();
            match         = MainPlayerHelper.GetPlayerLevel() >= tabData.lvLimit;
            msg           = match ? DataManager.Manager <TextManager>().GetLocalText(LocalTextType.HuntingBoss_KeTiaoZhan) :
                            DataManager.Manager <TextManager>().GetLocalText(LocalTextType.HuntingBoss_WeiJieSuo);

            CopyInfo info = DataManager.Manager <ComBatCopyDataManager>().GetCopyInfoById(tabData.copyID);
            if (info != null)
            {
                m_spr_hadKilled.gameObject.SetActive(info.CopyUseNum >= info.MaxCopyNum);
            }
        }
        else
        {
            if (null != m_spr_hadKilled && m_spr_hadKilled.gameObject.activeSelf)
            {
                m_spr_hadKilled.gameObject.SetActive(false);
            }
            uint worldLv  = DataManager.Manager <MailManager>().WorldLevel;
            uint targetLv = (worldLv >= tabData.bossLv) ? worldLv : tabData.bossLv;
            m_lab_lv.text = targetLv.ToString();

            msg = DataManager.Manager <TextManager>().GetLocalFormatText(LocalTextType.HuntingBoss_NotOpen);
            JvBaoBossWorldManager.LocalWorldBossInfo tempInfo = null;
            if (DataManager.Manager <JvBaoBossWorldManager>().TryGetWorldBossStatusInfo(tabData.ID, out tempInfo))
            {
                switch (tempInfo.Status)
                {
                case JvBaoBossWorldManager.JvBaoBossStatus.JBS_NotOpen:
                    msg = DataManager.Manager <TextManager>().GetLocalFormatText(LocalTextType.HuntingBoss_NotOpen);
                    break;

                case JvBaoBossWorldManager.JvBaoBossStatus.JBS_CommingSoon:
                    msg = DataManager.Manager <TextManager>().GetLocalFormatText(LocalTextType.HuntingBoss_ShuaXinShiJian, tabData.uiRefreshTime);
                    break;

                case JvBaoBossWorldManager.JvBaoBossStatus.JBS_Attack:
                    msg = DataManager.Manager <TextManager>().GetLocalFormatText(LocalTextType.HuntingBoss_GongJiZhong);
                    break;

                case JvBaoBossWorldManager.JvBaoBossStatus.JBS_Finish:
                    msg = DataManager.Manager <TextManager>().GetLocalFormatText(LocalTextType.HuntingBoss_End);
                    break;
                }
            }
        }
        m_lab_bossState.text = msg;
    }
Пример #3
0
        /// <summary>
        /// 通过[ID]二分快速查表
        /// </summary>
        /// <param name="ID">ID</param>
        /// <returns></returns>
        public static TreasureBossDataBase Query(this List <TreasureBossDataBase> sorted, uint ID)
        {
            var key = new TreasureBossDataBase()
            {
                ID = ID
            };
            var comparer = new Comparer1();
            var index    = sorted.BinarySearch(key, comparer);

            return(index >= 0 ? sorted[index] : default(TreasureBossDataBase));
        }
Пример #4
0
    void SelectBossGrid(UITreasureBossGrid grid)
    {
        if (m_ctor_TreasureScrollView != null)
        {
            UITreasureBossGrid previous = m_ctor_TreasureScrollView.GetGrid <UITreasureBossGrid>(m_lst_TreasureDatas.IndexOf(previousBossID));
            if (null != previous)
            {
                previous.SetHightLight(false);
            }
            grid.SetHightLight(true);
        }
        previousBossID = grid.TableID;
        if (previousBossID != 0)
        {
            TreasureBossDataBase tab = GameTableManager.Instance.GetTableItem <TreasureBossDataBase>(previousBossID);
            bool showPersonal        = tab.bossType == (uint)TreasureBossType.Personal;
            m_trans_PersonalRewardContent.gameObject.SetActive(showPersonal);
            m_trans_WorldRewardContent.gameObject.SetActive(!showPersonal);
            copyID = tab.copyID;
            if (showPersonal)
            {
                ParaseReward(tab.dropItems);
                m_label_RecommandPowerValue.text = tab.recommendPower.ToString();
                m_ctor_PersonalRewardRoot.CreateGrids(m_lst_UIItemRewardDatas.Count);

                CopyInfo info = DataManager.Manager <ComBatCopyDataManager>().GetCopyInfoById(tab.copyID);
                if (info != null)
                {
                    m_label_reward_time.text = string.Format("{0}/{1}", info.CopyUseNum, info.MaxCopyNum);
                }
            }
            else
            {
                if (null != m_label_WorldBossOpenDes)
                {
                    m_label_WorldBossOpenDes.text = tab.refreshTime;
                }
                RefreshBossPreRoundInfo(previousBossID);

                ParaseReward(tab.dropItems);
                m_ctor_WorldRewardRoot.CreateGrids(m_lst_UIItemRewardDatas.Count);

                ParaseReward(tab.finalItems);
                m_ctor_FinalKillRewardRoot.CreateGrids(m_lst_UIItemRewardDatas.Count);
            }

            ShowModel(tab.bossID);
        }
    }