Синтаксис:
Используется csharp
public void Buy() {
if (PlayerPrefs.GetInt ("gold") >= 100) {
dust += 100;
PlayerPrefs.SetInt ("gold", PlayerPrefs.GetInt("gold") - 100);
goldField.text = PlayerPrefs.GetInt ("gold").ToString ();
PlayerPrefs.SetInt ("dust", dust);
dustField.text = PlayerPrefs.GetInt ("dust").ToString ();
PlayerPrefs.Save ();
}
}
if (PlayerPrefs.GetInt ("gold") >= 100) {
dust += 100;
PlayerPrefs.SetInt ("gold", PlayerPrefs.GetInt("gold") - 100);
goldField.text = PlayerPrefs.GetInt ("gold").ToString ();
PlayerPrefs.SetInt ("dust", dust);
dustField.text = PlayerPrefs.GetInt ("dust").ToString ();
PlayerPrefs.Save ();
}
}
Переменная gold от которой отняли 100 не сохраняется. Приведу пример: У меня 100 gold, я вызываю метод buy. С переменной gold списывается 100 и она равняется 0. Но при увеличении gold на 10 она будет равняться не 10 а 110. Причем если после вызова метода Buy перезайти в приложение, то такого бага нет. Я подозреваю, что gold просто не сохраняется, хотя в методе Buy есть строка сохранения PlayerPrefs.Save ();