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); }
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; }
/// <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)); }
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); } }