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