Ejemplo n.º 1
0
 // Update is called once per frame
 void Update()
 {
     if (Input.GetKey(KeyCode.A))
     {
         DynamicAchievementManager.UnlockAchievement(DynamicAchievementManager.Achievement.TotalPlayTimeInSeconds);
     }
 }
    private void SetRewardDisplay()
    {
        const string rewardsPrefix = "Total Rewards: ";
        const string amountPrefix  = "Total Achievements: ";

        rewardDisplay.text          = rewardsPrefix + DynamicAchievementManager.ReturnTotalRewards(true) + "/" + DynamicAchievementManager.ReturnTotalRewards();
        amountOfUnlocksDisplay.text = amountPrefix + DynamicAchievementManager.ReturnAmountOfAchievements(true) + "/" + DynamicAchievementManager.ReturnAmountOfAchievements();
    }
        private static void PopAchievement(DynamicAchievementManager.Achievement achievement)
        {
            var assetReference = DynamicAchievementManager.ReturnSpriteAssetReference(achievement);

            _activeAchievements++;
            AssetReferenceLoader.LoadAssetReferenceAsynchronously <Sprite>(assetReference, (returnVariable) =>
            {
                var popUp = PopUps.Dequeue();
                popUp.transform.SetSiblingIndex(_maximumNumberOfActiveAchievements - 1);
                popUp.Show(returnVariable, StringUtilities.AddSpacesBeforeCapitals(achievement.ToString()), DynamicAchievementManager.ReturnDescription(achievement), DynamicAchievementManager.ReturnReward(achievement), () =>
                {
                    _activeAchievements--;
                    PopUps.Enqueue(popUp);
                    popUp.gameObject.SetActive(false);
                });
                AssetReferenceLoader.UnloadAssetReference(assetReference);
                Instance.StartCoroutine(Instance.HandleDelayedAdditions());
            });
        }
    private IEnumerator CreateListAsynchronously(DynamicAchievementManager.Achievement[] achievements)
    {
        var amountOfAchievements = achievements.Length;

        AssetReferenceLoader.LoadAssetReferenceAsynchronously <GameObject>(DisplayItemPrefab, (returnVariable) =>
        {
            DisplayItemAddressableAsGameObject = returnVariable;
            AssetReferenceLoader.DestroyOrUnload(returnVariable);
        });
        yield return(WaitUntilAssetReferenceIsLoadedAsynchronously);

        for (var i = 0; i < amountOfAchievements; i++)
        {
            var achievement = achievements[i];
            CreateListItemAsynchronously(achievement, DynamicAchievementManager.ReturnDescription(achievement), DynamicAchievementManager.ReturnReward(achievement), DynamicAchievementManager.ReturnSpriteAssetReference(achievement), DynamicAchievementManager.ReturnUnlockedState(achievement));
        }

        DisplayItemAddressableAsGameObject = null;
        ListCreated = true;
    }