(Level Selection) Only level 1 and 2 is getting unlocked , if i played lvl 2 , lvl 3 is not getting unlocked (i have 7 levels)
So i have 7 levels/scenes . My first level is unlocked and my others not ( thats good) . When i completed level 1 , level 2 is unlocked but when i completed level 2 , level 3 is not unlocked . Can anyone help me please? Script of GameManager :
using UnityEngine;
using UnityEngine.SceneManagement;
public class GameManager : MonoBehaviour {
public string nextLevel = "Level2";
public int levelToUnlock = 2;
public SceneFader sceneFader;
bool gameHasEnded = false;
public float restartDelay = 1f;
public GameObject completeLevelUI;
public void CompleteLevel ()
{
completeLevelUI.SetActive(true);
}
public void EndGame()
{
if (gameHasEnded == false)
{
gameHasEnded = true;
Debug.Log("GAME OVER");
Invoke("Restart", restartDelay);
}
}
void Restart()
{
SceneManager.LoadScene(SceneManager.GetActiveScene().name);
}
public void WinLevel ()
{
PlayerPrefs.SetInt("levelReached", levelToUnlock);
sceneFader.FadeTo(nextLevel);
}
}
Script of EndTrigger (I don't think you need this )
using UnityEngine;
public class EndTrigger : MonoBehaviour {
public GameManager gameManager;
void OnTriggerEnter ()
{
gameManager.WinLevel();
gameManager.CompleteLevel();
}
}
Comment
Best Answer
Answer by Lapius · Apr 18, 2017 at 12:25 PM
Save progress with playerprefs and check every time you load level selection
Hey Thank you for your comment but it didn't work. I think this is the problem . public string nextLevel = "Level2"; public int levelToUnlock = 2;
I need to replace "Level2" and "2" with like "Next Level" Or something , can you help me ;p?