예제 #1
0
 private void OnHeartsCountWasChanged(object sender, OnHeartsCountWasChanged onHeartsCountWasChanged)
 {
     if (Player.IsAdsEnabled())
     {
         this.UpdateHeartCount(onHeartsCountWasChanged.HeartCount);
     }
 }
예제 #2
0
 private void OnHeartsCountWasChanged(object sender, OnHeartsCountWasChanged onHeartsCountWasChanged)
 {
     if (onHeartsCountWasChanged.IsSpeedRunModeOn)
     {
         return;
     }
     if (onHeartsCountWasChanged.HeartCount <= 0)
     {
         this.nextStageButton.gameObject.SetActive(false);
         this.previousStageButton.gameObject.SetActive(false);
         this.adsScreen.Show();
     }
 }
예제 #3
0
    private void OnSpeedRunStart(object sender, OnSpeedRunStart eventArgs)
    {
        this.isSpeedRunMode = true;
        if (!Player.IsAdsEnabled())
        {
            return;
        }
        int heartCount = Player.GetHearts();

        heartCount--;
        Player.SetHearts(heartCount);
        OnHeartsCountWasChanged onHeartsCountWasChanged = new OnHeartsCountWasChanged(heartCount, true);

        EventManager.Dispatch(onHeartsCountWasChanged);
    }
예제 #4
0
    private void OnStageFail(object sender, OnStageFail onStageFail)
    {
        int heartCount = 1;

        if (!this.isSpeedRunMode && Player.IsAdsEnabled())
        {
            heartCount = Player.GetHearts();
            heartCount--;
            Player.SetHearts(heartCount);
            OnHeartsCountWasChanged onHeartsCountWasChanged = new OnHeartsCountWasChanged(heartCount, false);
            EventManager.Dispatch(onHeartsCountWasChanged);
        }
        if (heartCount <= 0)
        {
            return;
        }
        int         stageToLoad = onStageFail.Stage;
        IEnumerator routine     = this.LoadNewStage(stageToLoad, false);

        this.StartCoroutine(routine);
    }
예제 #5
0
 private void OnWatchAdsButtonClick()
 {
     if (Advertisement.IsReady("rewardedVideo"))
     {
         ShowOptions showOptions = new ShowOptions();
         showOptions.resultCallback = result => {
             int maxHearts = GameSettings.MAX_HEARTS;
             Player.SetHearts(maxHearts);
             OnHeartsCountWasChanged onHeartsCountWasChanged = new OnHeartsCountWasChanged(maxHearts, false);
             EventManager.Dispatch(onHeartsCountWasChanged);
             EventManager.Dispatch(new OnWatchAdsCompleted(result));
         };
         OnWatchAdsStarted onWatchAdsStarted = new OnWatchAdsStarted();
         EventManager.Dispatch(onWatchAdsStarted);
         Advertisement.Show("rewardedVideo", showOptions);
     }
     else
     {
         this.noMoreAdsToShowScreen.Show();
     }
     this.Hide();
 }
예제 #6
0
    private void OnStageSwitch(object sender, OnStageSwitch eventArgs)
    {
        int heartCount = Player.GetHearts();

        if (heartCount <= 0 && !this.isSpeedRunMode)
        {
            if (this.currentStage != null)
            {
                Destroy(this.currentStage.gameObject);
            }
            Player.SetLastPlayedStage(0);
            OnHeartsCountWasChanged onHeartsCountWasChanged = new OnHeartsCountWasChanged(heartCount, false);
            EventManager.Dispatch(onHeartsCountWasChanged);
            return;
        }

        this.isFirstPlay = false;
        int         stageToLoad = this.currentStage.StageNum + eventArgs.Increment;
        IEnumerator routine     = this.LoadNewStage(stageToLoad, true);

        this.StartCoroutine(routine);
    }