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); }