[Unity] — Как хранить базу предметов?

Лично у меня два варианта: БД или создание json’а для каждого экземпляра ScriptableObject и сбор их в list’ы.
У кого есть опыт, подскажите какой вариант лучше себя показывает, и есть ли какие-то другие.

[Unity] — Как хранить базу предметов?

Белым — то, у чего есть возможность создать json.

2020
50 комментариев

Всё зависит от количества предметов, их сложности и того, как часто их придётся редактировать.

JSON подойдёт для небольших баз и сложных предметов — с кучей свойств, подсвойств, триггеров, эффектов и прочего.
В JSON можно быстро найти отдельный предмет и его отредактировать, не боясь повредить другие предметы.

Нужно понимать, что в SQL-базе всё это придётся разбивать на отдельные таблицы и делать отдельные таблицы связей.
Зато можно хранить тысячи свойств и эффектов, и десятки тысяч предметов в очень компактном виде. А одним запросом корректировать свойства сотен предметов.  Конечно, тут редактировать что-то — это адище без удобных форм.

10
Ответить

Комментарий недоступен

7
Ответить

Комментарий недоступен

6
Ответить
3
Ответить
2
Ответить
2
Ответить

Настоящий вопрос сколько будет итемов? 1000, миллион, сотни тысячь? Какой способ расстановки их в интерфейсе - по клеточкам или по порядку. Каждая реализация накладывает на себя разные особенности хранения. в простейшем случае - сериализируйте в строку split/join через свои методы, json крайне избыточен зачем вам создавать {} обьект если достаточно записать w1;100;i2;300;i5;500 (w,i класс предмета число количество)

добавлю про БД - она дает выйгрышь так как там заранее реализованна индексация для быстрого поиска по id - если у вас линейный поиск (сотни тысячь) уже не проканает - и загрузить в память чтобы построить Хеш нельзя. Больше ни для каких целей бд вам не нужна. Хотя нафига вам сотни тысячь описнай предметов я не представляю

4
Ответить