/// <summary> /// 通过[ID]二分快速查表 /// </summary> /// <param name="ID">ID</param> /// <returns></returns> public static DailyAwardDataBase Query(this List <DailyAwardDataBase> sorted, uint ID) { var key = new DailyAwardDataBase() { ID = ID }; var comparer = new Comparer1(); var index = sorted.BinarySearch(key, comparer); return(index >= 0 ? sorted[index] : default(DailyAwardDataBase)); }
public override void SetGridData(object data) { base.SetGridData(data); if (data != null && data is uint) { id = (uint)data; DailyAwardDataBase tab = GameTableManager.Instance.GetTableItem <DailyAwardDataBase>(id); if (tab != null) { m_label_Num.text = tab.liveness.ToString(); hasGot = DataManager.Manager <DailyManager>().RewardBoxList.Contains(id); canGet = tab.liveness <= DataManager.Manager <DailyManager>().ActiveTotalValue; SetIcon(tab); AddEffect(canGet && !hasGot); } } }
void SetIcon(DailyAwardDataBase msg) { string icon = hasGot ? msg.openicon : msg.closeicon; UIManager.GetAtlasAsyn(icon, ref m_priceAsynSeed, () => { if (null != m_sprite_Icon) { m_sprite_Icon.atlas = null; } }, m_sprite_Icon); UIManager.GetAtlasAsyn(msg.BgIcon, ref m_priceAsynSeed_2, () => { if (null != m_sprite_Bgback) { m_sprite_Bgback.atlas = null; } }, m_sprite_Bgback); m_sprite_Mark.gameObject.SetActive(hasGot); }
void InitPanel(ActiveTakeParam data) { m_label_Title.text = "活跃领取"; boxID = data.boxID; DailyAwardDataBase awardData = GameTableManager.Instance.GetTableItem <DailyAwardDataBase>(boxID); m_label_Des_Label.text = string.Format(DataManager.Manager <TextManager>().GetLocalText(LocalTextType.Local_Txt_Daily_BoxTips), awardData.liveness); m_lst_UIItemRewardDatas.Clear(); if (awardData.Exp > 0) { m_lst_UIItemRewardDatas.Add(new UIItemRewardData() { itemID = 60006, num = awardData.Exp, }); } if (awardData.gold > 0) { m_lst_UIItemRewardDatas.Add(new UIItemRewardData() { itemID = 60001, num = awardData.gold, }); } if (awardData.ticket > 0) { m_lst_UIItemRewardDatas.Add(new UIItemRewardData() { itemID = 60002, num = awardData.ticket, }); } string[] items = awardData.awarditem.Split(';'); for (int i = 0; i < items.Length; i++) { string[] item = items[i].Split("_".ToCharArray()); uint itemID; uint num = 1; if (uint.TryParse(item[0], out itemID)) { table.ItemDataBase itemdata = GameTableManager.Instance.GetTableItem <ItemDataBase>(itemID); if (itemdata != null) { if (uint.TryParse(item[1], out num)) { m_lst_UIItemRewardDatas.Add(new UIItemRewardData() { itemID = itemdata.itemID, num = num, }); } else { m_lst_UIItemRewardDatas.Add(new UIItemRewardData() { itemID = itemdata.itemID, num = 1, }); } } else { Engine.Utility.Log.Info("宝箱奖励的道具ID配置有误!"); } } } m_ctor_UIItemRewardCreator.CreateGrids(m_lst_UIItemRewardDatas.Count); if (!data.ids.Contains(boxID)) { if (data.canGetState == 1) { m_btn_btn_Take.isEnabled = true; m_btn_btn_Take.transform.GetComponentInChildren <UILabel>().text = "领取"; } else if (data.canGetState == 2) { m_btn_btn_Take.isEnabled = false; m_btn_btn_Take.transform.GetComponentInChildren <UILabel>().text = "已领取"; } else { m_btn_btn_Take.isEnabled = false; m_btn_btn_Take.transform.GetComponentInChildren <UILabel>().text = "领取"; } } else { m_btn_btn_Take.isEnabled = false; m_btn_btn_Take.transform.GetComponentInChildren <UILabel>().text = "已领取"; } }