KeysCG
@KeysCG
3d designer/Art Designer

Как сделать сохранение жизней, отдельное на каждом уровне PlayerPrefs?

Помогите пожалуйста решить проблему, целый день мучаюсь с ней и никак не могу понять как это сделать!
Есть отдельная сцена с выбором уровней (уровни открываются по мере их прохождения):
615cd1e837350589728170.png
Также есть скрипт жизней который висит на персонаже:
615cd2027b206741377336.png
Переход с уровня на уровень происходит через Триггер с скриптом:
615cd2ce77be9929924656.png
615cd2e5bf422857789788.png
Мне нужно сделать сохранение жизней так, что бы когда я встаю на триггер сохранялась информация жизней именно этого уровня (что бы в дальнейшем если нужно будет переиграть уровень, загружалось количество жизней именно то, которое было сохранено при прохождении предыдущего уровня на триггере)
Как я понял нужно сделать скрипт на триггере который будет сохранять жизни в отдельный ключ реестра, например под именем SaveHealthLvl1, а уже на следующем уровне в отдельный ключ SaveHealthLvl2 и т.д. а потом при выборе уровня будет подгружать нужный ключ.

Я очень прошу помогите пожалуйста наглядно, как это реализовать через PlayerPrefs, а то я сижу целый день и нигде не могу найти инфу. Везде только как сделать сохранение с уровня на уровень и при выборе уровня подгружается только последнее количество жизней :(
  • Вопрос задан
  • 62 просмотра
Пригласить эксперта
Ответы на вопрос 1
Первое что пришло в голову. Можно просто преобразовать номер уровня в строку и добавить какой-нибудь префикс для удобства чтения, но такой вариант весьма не гибкий.

String saveText = "HealthLvl";

void SaveLevelHP(int level, int hp)
{
    PlayerPrefs.setInt(saveText + level.toString(),hp)
}

int LoadLevelHP(int level)
{
   return PlayerPrefs.getInt(saveText + level.toString())
}


Более сложный вариант и более гибкий использовать JSON ,который можно сериализировать в строку и сохранять в PlayerPrefs.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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