- Home /
End of each level Playerprefs sets a higher value than previous level so I just added for example if(PlayerPrefs.GetInt("levelReached")<8) PlayerPrefs.SetInt("levelReached",8)
levels are locked again after playing a lower level
I locked my level buttons using the code below and then during test i realized that for example if i play second level after unlocking fourth level this locks 3rd and 4th level again. end of each levels my finish cube sets levelreached to a higher value than previous level.
public Button[] levelButtons;
private void Start()
{
int levelReached = PlayerPrefs.GetInt("levelReached",1);
for (int i=0; i < levelButtons.Length; i++) {
if (i + 1 > levelReached)
{
levelButtons[i].interactable = false;
levelButtons[i].image.color = Color.red;
}
}
where are setting the value of levelreached PlayerPrefs . If you are setting the player pref on button click then check if the current playerpref > level button clicked(value of level reached) then change the playerpref
currentLeveClicked = 3 //Some level value
if(PlayerPrefs.GetInt("levelReached") < currentLevelClicked)
{
PlayerPrefs.SetInt("levelReached",currentLevelClicked);
}
Follow this Question
Related Questions
Multiple Cars not working 1 Answer
Locking levels. 1 Answer
Distribute terrain in zones 3 Answers
PlayerPrefs Problem crashing with SetBool 2 Answers
onapplicationquit() function is not working with unity 4.6.3 (android) 3 Answers