unlock levels in unity3D c#
I'd like to make a system that unlock the next level after completing one. I'm using c# to code
If you complete level 1, you unlock level2 etc...
mainmenu is build level 0 and the level select is build level 1, so the first level is actually build level 2.
public bool isLevel1;
public bool isLevel2;
public bool isLevel3;
public bool isLevel4;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
}
void OnMouseUp()
{
if (isLevel1)
{
Application.LoadLevel(2);
}
if (isLevel2)
{
Application.LoadLevel(3);
}
if (isLevel3)
{
Application.LoadLevel(4);
}
if (isLevel4)
{
Application.LoadLevel(5);
}
}
that's how I select the levels from the level select. i have something similar on the main menu. it'd be a big help if somebody could explain it simple enough or point me to a guide that i missed. because i found a few guides, but they assumed i did my level selection different or work with JS, i think. I thank you in advance and i'm willing to answer any further questions
Answer by Jessespike · Jan 28, 2016 at 09:11 PM
public class UnnamedLevelLoader : MonoBehaviour {
public int currentLevel = 1;
public static bool isNextLevelUnlocked = false;
void OnMouseUp()
{
if (isNextLevelUnlocked) {
isNextLevelUnlocked = false;
Application.LoadLevel(currentLevel+1);
}
}
}
Then to unlock the next level, you call:
UnnamedLevelLoader.isNextLevelUnlocked = true;
If you want to keep a bool for every level, like in the script you provided, you can do this:
public bool isLevel1;
public bool isLevel2;
public bool isLevel3;
public bool isLevel4;
public static bool isLevel2Unlocked, isLevel3Unlocked, isLevel4Unlocked, isLevel5Unlocked;
void OnMouseUp()
{
if (isLevel1 && isLevel2Unlocked)
{
Application.LoadLevel(2);
}
if (isLevel2 && isLevel3Unlocked)
{
Application.LoadLevel(3);
}
if (isLevel3 && isLevel4Unlocked)
{
Application.LoadLevel(4);
}
if (isLevel4 && isLevel5Unlocked)
{
Application.LoadLevel(5);
}
}
unlock by setting the bools from any script:
MyClass.isLevel2Unlocked = true;
Your answer

Follow this Question
Related Questions
How to Manage Objects Common for Multiple Levels? 2 Answers
why won't my scene reset after moving to another scene and comeback? 0 Answers
Level Load Script 1 Answer
Change from second level to the next one 1 Answer
Does anyone know how to make a level select map just like mario bros 3 own? 0 Answers