Всем привет.
Может быть я рано полез в геймдев и стоило бы еще по изучать азы, но я дошел до того, что уже выложил свою игру в google play, и столкнулся с одной проблемой.
Когда я загружаю обновление игры, то происходит какой-то сбой, т.е. скачав первый раз, все хорошо, и даже можно выйти и войти заново - все отлично, при клике все работает, в магазине все работает, да и в целом все работает. Но стоит загрузить обновление, неважно, была изменена там хоть графическая часть, то все пропадает: кнопки магазина становятся с теми текстами, которые были в самом unity3d, счет так же, и ничего не работает.
Я подумал, это может быть из-за сохранений. Использую загрузку сохранений в json файл.
Загрузка сохраненийprivate void Awake ()
{
string loadedData;
#if !UNITY_EDITOR && UNITY_ANDROID
path = Path.Combine(Application.persistentDataPath, "Save.json");
#else
path = Path.Combine(Application.dataPath, "Save.json");
#endif
if (File.Exists (path)) {
loadedData = File.ReadAllText (path);
}
save = JsonUtility.FromJson<Save> (loadedData);
globalTaps = save.globalTaps;
taps = save.taps;
score = save.score;
bonus = save.bonus;
bonusPerSec = save.bonusPerSec;
for (int i = 0; i < shopItems.Count; i++) {
shopItems [i].levelOfItem = save.levelOfItem [i];
}
}
СохранениеСохранения у меня обновляются в Updatesave.globalTaps = globalTaps;
save.taps = taps;
save.score = score;
save.bonus = bonus;
save.bonusPerSec = bonusPerSec;
save.levelOfItem = new int[shopItems.Count];
for (int i = 0; i < shopItems.Count; i++) {
save.levelOfItem [i] = shopItems [i].levelOfItem;
}
Но так же еще есть запись сохранений после выхода из игры(хотя почему-то оно все равно не работает, оставил на всякий случай)#if !UNITY_EDITOR && UNITY_ANDROID
private void OnApplicationPause ()
{
pause = true;
File.WriteAllText (path, JsonUtility.ToJson (save));
save.globalTaps = globalTaps;
save.taps = taps;
save.score = score;
save.bonus = bonus;
save.bonusPerSec = bonusPerSec;
save.levelOfItem = new int[shopItems.Count];
for (int i = 0; i < shopItems.Count; i++) {
save.levelOfItem [i] = shopItems [i].levelOfItem;
}
}
#endif
private void OnApplicationQuit ()
{
pause = true;
save.globalTaps = globalTaps;
save.taps = taps;
save.score = score;
save.bonus = bonus;
save.bonusPerSec = bonusPerSec;
save.levelOfItem = new int[shopItems.Count];
for (int i = 0; i < shopItems.Count; i++) {
save.levelOfItem [i] = shopItems [i].levelOfItem;
File.WriteAllText (path, JsonUtility.ToJson (save));
}
}