void OnGameOver(object arg0)
    {
        PlayerSave         player      = SaveLoadController.GetInstance().GetPlayer();
        EndlessSessionSave gameSession = SaveLoadController.GetInstance().GetEndlessSession();
        GooglePlayHelper   gph         = GooglePlayHelper.GetInstance();

        player.AddTotalGamesPlayed(1);

        // report events
        gph.ReportEvent(GPGSConstant.event_amount_of_endless_games_started, 1);
        gph.ReportEvent(GPGSConstant.event_score_endless_mode, gameSession.GetTotalScore());
        gph.ReportEvent(GPGSConstant.event_health_potions_picked_up, gameSession.GetResourcesGathered());

        // save current stats
        gph.SaveGame(); // TODO: keep track of timeplayed

        // check for achievements
        AchievementChecker.CheckForEndlessScoreAchievement(gameSession.GetTotalScore());
        AchievementChecker.CheckForWelcomeAchievement();

        // highscore post
        if (gameSession.GetTotalScore() > player.GetHighscore())
        {
            EventManager.TriggerEvent(EventTypes.NEW_HIGHSCORE);
            player.SetHighscore(gameSession.GetTotalScore());
            gph.PostHighscore(player.GetHighscore(), GPGSConstant.leaderboard_endless_mode);
        }

        // start game over screen
        LoadingController.LoadScene(LoadingController.Scenes.GAME_OVER);
    }
示例#2
0
    private void OnOpponentDied(object arg0)
    {
        DebugMP.Log("You won!");
        SaveLoadController slc = SaveLoadController.GetInstance();

        slc.GetMultiplayerSession().SetPlayerWon();
        slc.GetPlayer().AddTotalMultiplayerMatchesWon(1);
        AchievementChecker.CheckForMultiplayerAchievement(slc.GetPlayer().GetTotalMultiplayerMatchesWon());
        GooglePlayHelper.GetInstance().PostHighscore(slc.GetPlayer().GetTotalMultiplayerMatchesWon(), GPGSConstant.leaderboard_multiplayer_mode);
        StartCoroutine("TriggerGameOverScreen");
        GooglePlayHelper.GetInstance().SaveGame();
    }
    void OnSkillShotTriggered(object arg0)
    {
        if (onCooldown)
        {
            return;
        }

        // set value
        lastSkillValue = slider.value;

        // set feedback text
        TriggerFeedbackText(lastSkillValue);

        // check for sequence achievements
        AchievementChecker.CheckForTimingAchievement(excellentEchosSequence, goodEchosSequence);

        // dispatch value for the beam
        EventManager.TriggerEvent(EventTypes.SKILL_VALUE);
        EventManager.TriggerEvent(EventTypes.ECHO_USED_RESOURCES);

        // Activate cooldown
        ResetCoolDown();
    }