Example #1
0
        IEnumerator  InitData()
        {
            yield return(null);

            DynamicMonoILR[] items = mDMono.transform.Find("GiftGrid").GetComponentsInChildren <DynamicMonoILR>();
            for (int i = 0; i < items.Length; i++)
            {
                LTWelfareSevenDayAwardItem temp = items[i]._ilrObject as LTWelfareSevenDayAwardItem;
                if (temp != null)
                {
                    Items.Add(temp);
                }
            }
            InitItems();
            Hotfix_LT.Messenger.AddListener(EventName.LTWelfareHudOpen, InitItems);
        }
Example #2
0
        public override void SetData(object netData)
        {
            base.SetData(netData);
            //
            Items = new List <LTWelfareSevenDayAwardItem>();
            DynamicMonoILR[] items = mDMono.transform.Find("GiftGrid").GetComponentsInChildren <DynamicMonoILR>();
            for (int i = 0; i < items.Length; i++)
            {
                LTWelfareSevenDayAwardItem temp = items[i]._ilrObject as LTWelfareSevenDayAwardItem;
                if (temp != null)
                {
                    Items.Add(temp);
                    temp.mDMono.gameObject.SetActive(false);
                }
            }
            //
            int ActivityId = EB.Dot.Integer("activity_id", netData, 0);
            //
            Hashtable activityData;

            DataLookupsCache.Instance.SearchDataByID("tl_acs." + ActivityId, out activityData);
            int LoginDayCount = EB.Dot.Integer("total", activityData, 0);
            //获取相应连续几日活动的配置数据
            List <Hotfix_LT.Data.TimeLimitActivityStageTemplate> stages = Hotfix_LT.Data.EventTemplateManager.Instance.GetTimeLimitActivityStages(ActivityId);

            for (int i = 0; i < Items.Count; ++i)
            {
                if (stages.Count > i)
                {
                    Hotfix_LT.Data.TimeLimitActivityStageTemplate data = FindStageTpl(stages, i + 1);
                    List <LTShowItemData> itemDatas = new List <LTShowItemData>();
                    eReceiveState         state     = eReceiveState.cannot;
                    if (data != null && data.reward_items != null)
                    {
                        for (int j = 0; j < data.reward_items.Count; j++)
                        {
                            string id    = data.reward_items[j].id.ToString();
                            int    count = data.reward_items[j].quantity;
                            string type  = data.reward_items[j].type;
                            itemDatas.Add(new LTShowItemData(id, count, type, false));
                        }
                        if (i + 1 <= LoginDayCount)
                        {
                            if (GetReceiveState(stages[i].id, activityData))
                            {
                                state = eReceiveState.have;
                            }
                            else
                            {
                                state = eReceiveState.can;
                            }
                        }
                        else
                        {
                            state = eReceiveState.cannot;
                        }
                    }
                    Items[i].SetUI(new RewardStageData(stages[i].id, stages[i].activity_id, stages[i].stage, itemDatas, state), LTWelfareSevenDayAwardItem.ItemType.Activity);
                    Items[i].mDMono.gameObject.SetActive(true);
                }
            }
            //GiftGrid.Reposition();
            SetItemsPos(stages.Count);
        }