/// <summary> /// Adds new reward request to queue. /// </summary> /// <param name="notificationEntry">Notification entry.</param> public void AddToRewardQueue(RewardQueueData.GenericDelegate functionToCall) { RewardQueueData.AddReward(functionToCall); if (!isRewardingActive) { // Debug.Log("Try next reward----"); TryNextReward(); } else { // Debug.Log("Reward queue FULL----"); } }
public void TryNextReward() { if (!RewardQueueData.IsEmpty()) { isRewardingActive = true; isDoAnimationDoneCheck = true; RewardQueueData.GenericDelegate functionToCall = RewardQueueData.PopReward(); functionToCall(); } else // End condition here { isRewardingActive = false; // Called only when it has animated and finished if (isDoAnimationDoneCheck) { isDoAnimationDoneCheck = false; if (OnAllRewardsDone != null) { OnAllRewardsDone(this, EventArgs.Empty); } } } }