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