Обновление данных при загрузке игры unity
Проблема такая: у меня есть скрипт для магазина в unity на C#, улучшение по дефолту стоит 15 монет
При покупке улучшение, стоимость увеличивается в 2 раза, когда игрок выходит из игры и заново заходит, цена сохраняется в массиве с ценами, но отображается как 15 монет, и остается таковой пока игрок не купит это улучшение уже за большую цену (о которой он не знает), после чего цена увеличится, как сделать так, что-бы когда игрок снова заходил, у него отображалась именно цена, которая в массиве
void GetShop(int id)
{
switch (id)
{
case 0:
if (LinaMain.LinaScore >= PickLina)
{
LinaMain.LinaScoreSec += 1;
LinaMain.LinaScore -= PickLina;
PickLina *= 2;
arrayCost[id] = PickLina.ToString();
list[0].GetComponentsInChildren<Text>()[2].text = ShortScaleString.parseFloat(PickLina,1,1000,true).ToString();
SoundPlay.Play();
PlayerPrefs.SetFloat("PickLina", PickLina);
if (PickLina <= 0)
{
PickLina = 30;
}
}
Сохраняю все через PlayerPrefs, которые загружаются в start
Ответы (1 шт):
Попробуйте в Start(), после получения значений из PlayerPrefs, обновлять UI магазина.
А так, конечно, хотелось бы побольше информации о проблеме, так не совсем ясно в чем ошибка.