Ejemplo n.º 1
0
    private void GameOver()
    {
        // Player Won the level
        if (IsLevelClear())
        {
            PlayerInfo playerInfo = PlayerInfoManager.GetCurrentPlayerInfo();

            TimeSpan time    = TimeSpan.FromSeconds(timer.totalTime);
            TimeSpan oldTime = playerInfo.Levels[levelIndex].time;

            //Actualizar récord si se ha batido o si no existia(oldTime == 0)
            if (time < oldTime || Math.Abs(oldTime.TotalSeconds) < float.Epsilon)
            {
                playerInfo.Levels[levelIndex].time = time;
            }

            // Desbloquear siguiente nivel si es necesario  si quedan niveles por desbloquear
            if ((levelIndex + 1) < GameManager.GetLevelsCount())
            {
                playerInfo.Levels[levelIndex + 1].unlocked = true;
            }
            PlayerInfoManager.SetCurrentPlayerInfo(playerInfo);
            GameManager.Save();
        }
        //Ir a la pantalla de selección de nivel
        GameManager.ChangeScene(Scene.SELECT_LEVEL);
    }