public int LoadLvlList(int keyName)
{
if (PlayerPrefs.HasKey(keyName.ToString())) CountStars = JsonUtility.FromJson<Data>(PlayerPrefs.GetString(keyName.ToString())).value;
Debug.Log(CountStars); //дебаг тут вообще ничего не выводит
Debug.Log(keyName); // здесь номера уровней по порядку
return CountStars;
}
public void SaveLvlList(string keyName, int CountStars)
{
Debug.Log(CountStars);// нужное кол-во звёзд *все гуд*
Debug.Log(keyName); // нужный раунд, тоже все ок
PlayerPrefs.SetString(keyName, JsonUtility.ToJson(CountStars));
PlayerPrefs.Save();
}
покажи какой текст у тебя загружаетсяпро какой текст речь? не понимаю... Если про то, что я загружаю, то я выше скинул код с примером того, что загружаю, если речь про debug, то могу скрин кинуть или написать, а насчёт второго... Я походу что-то перемудрил, ладно, спасибо. Пойду тыкаться
int tempScene = SceneManager.GetActiveScene().buildIndex;
tempScene--;
Debug.Log(tempStars); // тут выводит корректное значение звезд (1/2/3)
Debug.Log(tempScene); // тут корректный номер сцены
LevelListManager.instance.SaveLvlList(tempScene.ToString(), tempStars);
public void OnMouseDown()
{
for (int i = 0; i < 40; i++) // Простая проверка для всех уровней, которые у меня есть
{
keyName = i.ToString();
LoadLvlList(i);
if (CountStars == 0)
{
Debug.Log(CountStars); // в консоль выводится 40 раз 0
ButtonsList[i].transform.GetChild(0).GetComponent<Button>().interactable = false;
}
}
ButtonsList[0].transform.GetChild(0).GetComponent<Button>().interactable = true; // это чтоб первый лвл был доступен, но это не важно пока
this.gameObject.SetActive(false); //кнопку вырубаю, тоже не важно
}
public int LoadLvlList(int keyName)
{
if (PlayerPrefs.HasKey(keyName.ToString())) CountStars = JsonUtility.FromJson<Data>(PlayerPrefs.GetString(keyName.ToString())).value;
return CountStars;
}
public void SaveLvlList(string keyName, int CountStars)
{
PlayerPrefs.SetString(keyName, JsonUtility.ToJson(CountStars));
PlayerPrefs.Save();
}
[SerializeField]
class Data
{
public string name;
public int value;
public Data(string name, int value)
{
this.name = name;
this.value = value;
}
}