@barniok

Как сделать сохранение монет и их обновление?

Нужно сохранить монеты, но при смене локации или при перезапуске уровня, монеты сохраняются один раз и не обновляются, я не знаю как это исправить, помогите пожалуйста. Делаю всё на Unity. вот код:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;
using System.IO;
public class money : MonoBehaviour
{ public GameObject Money;
private Save sv = new Save ();
private string path;
public static int score = 0;
private void OnTriggerEnter2D(Collider2D collision)
{ score++;

Destroy(Money);

}

// Start is called before the first frame update
private void Start()
{
path = Path.Combine(Application.dataPath, "Save.json");

if (File.Exists(path)) {

sv = JsonUtility.FromJson(File.ReadAllText(path));

}
}

private void OnApplicationQuit()
{sv.score = score;

File.WriteAllText(path, JsonUtility.ToJson(sv));

}
// Update is called once per frame
void Update()
{

}
[Serializable]
public class Save {

public int score;}
}
  • Вопрос задан
  • 174 просмотра
Решения вопроса 1
flexer1992
@flexer1992
Unity Developer
Как вариант, можете попробовать записывать их в PlayerPrefs. Но, по вашему описанию, не совсем понятно когда они должны сохраняться. Между запусками уровней или между запусками самого приложения?
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
freeExec
@freeExec
Участник OpenStreetMap
Переименуйте метод OnApplicationQuit в OnDestroy
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы