예제 #1
0
        public void RefreshRewardData(Hashtable activityData)
        {
            m_ChiefRewardList = new List <LTActivityChiefRewardData>(4);
            for (int i = 0; i < m_TimeRewardlist.Count; i++)
            {
                var template = m_TimeRewardlist[i];
                LTActivityChiefRewardData itemData = new LTActivityChiefRewardData();

                int receivedValue = EB.Dot.Integer(string.Format("stages.{0}", template.id), activityData, 0);

                itemData.ActivityID   = m_ActivityId;
                itemData.HasReceived  = receivedValue == 1;
                itemData.RequiredWins = template.stage;
                itemData.ID           = template.id;
                itemData.WinCount     = m_WinCount;
                itemData.RewardData   = new List <LTShowItemData>();

                for (int j = 0; j < template.reward_items.Count; j++)
                {
                    ItemStruct rewardStruct = template.reward_items[j];
                    itemData.RewardData.Add(new LTShowItemData(rewardStruct.id, rewardStruct.quantity, rewardStruct.type));
                }

                itemData.Controller = this;
                m_ChiefRewardList.Add(itemData);
            }
        }
예제 #2
0
        private void RefreshChiefRewardListView()
        {
            List <Transform> childList = m_Grid.GetChildList();
            int rowCount = m_ChiefRewardList.Count;

            for (int i = 0; i < rowCount; i++)
            {
                LTActivityChiefRewardData itemData = m_ChiefRewardList[i];

                GameObject itemObject = null;
                if (childList != null && i < childList.Count)
                {
                    itemObject = childList[i].gameObject;
                }
                else
                {
                    itemObject = Object.Instantiate(m_PrefabTemplate);
                    m_Grid.AddChild(itemObject.transform);
                    itemObject.transform.localScale = Vector3.one;
                }

                LTActivityChiefRewardItem item = itemObject.transform.GetMonoILRComponent <LTActivityChiefRewardItem>();
                item.FillData(itemData);
                item.Show(itemObject);
            }

            if (childList != null && rowCount < childList.Count)
            {
                for (int i = rowCount; i < childList.Count; i++)
                {
                    childList[i].GetMonoILRComponent <LTActivityChiefRewardItem>().Hide();
                }
            }

            m_Grid.Reposition();
            TimerManager.instance.AddFramer(1, 1, (_) => { ResetUIScrollView(rowCount); });
        }
예제 #3
0
 public void FillData(LTActivityChiefRewardData data)
 {
     m_ItemData = data;
 }