Как сделать корректное сохранение, счет и суммирование монет в unity?
Делал так, но монеты перезаписываются если перезайти и сыграть еще раз.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class AddScore : MonoBehaviour {
private void OnTriggerEnter2D(Collider2D collision) {
Score.coins += 1; //прибавляет одну монету к переменной при прохождении препятствия
}
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class Score : MonoBehaviour {
public Text text;
public static int coins;
void Update () {
PlayerPrefs.SetInt("coins", coins); //сохраняет монеты
PlayerPrefs.Save();
}
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class CoinsText : MonoBehaviour {
public Text text;
int coins;
void Start () {
coins = PlayerPrefs.GetInt("coins");
text.text = coins.ToString(); //вывод сохраненных монет
}
}
Ответы (1 шт):
Автор решения: Andrew
→ Ссылка
public static int Сoins;
//загружаем настройки
void Awake()
{
Level = PlayerPrefs.GetInt("Сoins", Сoins);
}
//сохраняем настройки
private void OnApplicationQuit()
{
PlayerPrefs.SetInt("Сoins", Сoins);
PlayerPrefs.Save();
}