Пример #1
0
        /// <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));
        }
Пример #2
0
 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);
         }
     }
 }
Пример #3
0
    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);
    }
Пример #4
0
    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 = "已领取";
        }
    }