示例#1
0
 private void OnClaimingAchievement(AchievementItemView ach)
 {
     //Debug.Log("On claim achievement button clicked");
     //ach.Model.isUnlocked = true;
     AnalyticsHelper.Instance.LogClaimAchievement(ach.Model.ID);
     AchievementHelper.Instance.ClaimAchievement(ach.Model, OnAchievementClaimed);
     ach.RefreshItemView();
     //throw new NotImplementedException();
 }
示例#2
0
        public void Initialize()
        {
            if (!isInitialized)
            {
                //lastViewStoreVersion = 0;
                //listAchievementItem = new List<AchievementItemView>(20);

                currentItemList = new Dictionary <GameObject, AchievementItemView> (20);
                //lol, get those achievement items' data
                listItemData = AchievementHelper.Instance.GetListAchievements(achievementType);

                itemListContainer.maxIndex          = 0;
                itemListContainer.minIndex          = -(listItemData.Count - 1);
                itemListContainer.onInitializeItem -= OnAchievementItemInitialize;
                itemListContainer.onInitializeItem += OnAchievementItemInitialize;

                //get all song item view
                Transform scrolllist = itemListContainer.transform;
                int       numItem    = scrolllist.childCount;
                for (int i = 0; i < numItem; i++)
                {
                    AchievementItemView v = scrolllist.GetChild(i).GetComponent <AchievementItemView> ();
                    if (v != null)
                    {
                        v.OnClaimAchievement += OnClaimingAchievement;
                        currentItemList.Add(v.gameObject, v);
                    }

                    //hide unnecessary items
                    if (i >= listItemData.Count)
                    {
                        v.gameObject.SetActive(false);
                    }
                }

                isInitialized = true;
            }
            else
            {
                listItemData = AchievementHelper.Instance.GetListAchievements(achievementType);
                foreach (KeyValuePair <GameObject, AchievementItemView> item in currentItemList)
                {
                    if (item.Key.activeSelf)
                    {
                        item.Value.Model = listItemData[item.Value.index];
                        item.Value.RefreshItemView();
                    }
                }
            }
        }