Страница 1 из 1

Хранение данных и поиск в хранилище[Решено]

СообщениеДобавлено: 06 авг 2018, 12:55
ВерховныйНоуНейм
У меня есть сцена с предметами. Мне нужно, чтобы они "открывались" при нахождении в игре.
Например при нахождении в файл будет записываться значение "open" или "1". А в этой сцене уже при старте считываться все значения из файла.
То-есть мне нужно удобно записывать значения в строки и чтобы для каждого объекта была своя строка(как теория варианта определения объекта, что именно он открыт)
То-есть при нахождении, например сыра, скрипт должен понимать что ему нужно записать единицу именно для сыра, а не по порядку, ну и собственно при загрузке скрипт должен искать именно значение сыра, а не смотреть в первую строку.
Ну и не помешал бы подсчет количества найденных предметов, количество единиц в файле.

Надеюсь вы меня поняли.

Хочется сразу сделать по умному, чтобы не мудрить галерею из костылей, которую потом придется сносить.

Re: Хранение данных и поиск в хранилище

СообщениеДобавлено: 06 авг 2018, 16:58
1100001001
Если в пределах одной игры, разные сцены но игра не закрывается то почему бы не использовать объект который не уничтожается https://docs.unity3d.com/ScriptReferenc ... nLoad.html . Создаешь скрипт в нём публичный булевский массив и ставишь значения true или false элементам массива - сыр, печенька, тапок и т.д. Если нужно хранить значения после выхода из игры самое простое используй PlayerPrefs https://habr.com/post/163071/

Re: Хранение данных и поиск в хранилище

СообщениеДобавлено: 06 авг 2018, 18:30
ВерховныйНоуНейм
1100001001 писал(а):Если в пределах одной игры, разные сцены но игра не закрывается то почему бы не использовать объект который не уничтожается https://docs.unity3d.com/ScriptReferenc ... nLoad.html . Создаешь скрипт в нём публичный булевский массив и ставишь значения true или false элементам массива - сыр, печенька, тапок и т.д. Если нужно хранить значения после выхода из игры самое простое используй PlayerPrefs https://habr.com/post/163071/

Так у меня будет что то вроде галереи трофеев, только для оружия.
И оружий то у меня 150(сейчас, потом может до 200 дойдет максимум).
Это не критично? Там же вроде ограничение.

Re: Хранение данных и поиск в хранилище

СообщениеДобавлено: 07 авг 2018, 03:35
1100001001
ну думаю пару миллиардов можно сохранить без потери скорости ;)

Re: Хранение данных и поиск в хранилище

СообщениеДобавлено: 07 авг 2018, 16:19
KanycTa
Синтаксис:
Используется csharp
string json = UnityEngine.JsonUtility.ToJson(T);
List<T> list = UnityEngine.JsonUtility.FromJson(json);
 

Re: Хранение данных и поиск в хранилище

СообщениеДобавлено: 07 авг 2018, 21:48
Cr0c
Можно брать список айтемов в цикле и записывать поле "изученности" в стринг
Синтаксис:
Используется csharp
string save = "";
for (int i=0; i<ItemsList.Count; i++)
 save += ItemsList[i].isOpened ? "1" : "0";
 

и сохранять эту строку где хочется. При загрузке эту строку обратно переводить в статус айтемов
Синтаксис:
Используется csharp
string save = // загрузка тут
for (int i=0; i<save.Length; i++)
 ItemsList[i].isOpened = (save[i] == '1');
 

Re: Хранение данных и поиск в хранилище

СообщениеДобавлено: 08 авг 2018, 12:40
ВерховныйНоуНейм
Идея интересная.
У PlayerPrefs на Windows нет ограничений, так что буду его использовать для удобности.
Сортировать буду: "Weapon_" + WeaponId, true

Там-же только для web ограничение в 1mb, или я ошибаюсь?

Re: Хранение данных и поиск в хранилище

СообщениеДобавлено: 08 авг 2018, 13:42
ilkalawson
У PlayerPrefs на Windows нет ограничений, так что буду его использовать для удобности.

да вот что то не понятно там про размер, официально сказано только про ограничение для web в 1мб, но на других форумах пишут ограничение в 1 мб для любого ключа на Windows. Хотя лично я сохранял помимо больших строк данных еще и небольшие изображения под одним ключом на andoid.

Re: Хранение данных и поиск в хранилище

СообщениеДобавлено: 08 авг 2018, 13:46
KanycTa
ВерховныйНоуНейм писал(а):Идея интересная.
У PlayerPrefs на Windows нет ограничений, так что буду его использовать для удобности.
Сортировать буду: "Weapon_" + WeaponId, true

Там-же только для web ограничение в 1mb, или я ошибаюсь?


Юзай JSON алёша! Удобно смотреть что вообще сохраняется...

Re: Хранение данных и поиск в хранилище

СообщениеДобавлено: 08 авг 2018, 19:45
ВерховныйНоуНейм
Я уже его использую, мне теперь нужен Prefs, как дополнение, и я хотел спросить есть ли ограничение на Windows версии.

А так спасибо! Вопрос решен.

Re: Хранение данных и поиск в хранилище

СообщениеДобавлено: 09 авг 2018, 05:13
1max1
ограничения есть везде, там вроде длина символов для сейва не должна превышать 100к, погугли я точно не помню