petushok55
@petushok55
Обучаюсь на практике.

Как лучше всего реализовать массивы с информацией о предметах?

Хочу я создать, например, предметы:
item_tv с характеристиками id=1, name=телик, image=tv.png
item_hat с характеристиками id=2, name=шляпа, image=hat.png


Всё что мне нужно, это брать предмет по его id и дальше работать с ним. Предметы изменять не нужно, один раз в самом начале определил, и дальше просто работаешь с ними. Предметов не больше 15

Но не понимаю, как это делают в Unity, на c#..
Есть вроде как способ с массивами, но в массив нельзя добавить ещё массив.
Если объект сделать, то его нельзя взять по id
List юзать, или что..

Подскажите пожалуйста для моей задачи какой подход целесообразен?
  • Вопрос задан
  • 64 просмотра
Решения вопроса 3
GavriKos
@GavriKos Куратор тега Unity
Есть вроде как способ с массивами, но в массив нельзя добавить ещё массив.

можно
Если объект сделать, то его нельзя взять по id

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

можно.

Тут подходит класс с полями id, name, image. И все инстансы кладете либо в List, либо в dictionary (ключ - айди)
Ответ написан
vabka
@vabka Куратор тега C#
Токсичный шарпист

Есть вроде как способ с массивами, но в массив нельзя добавить ещё массив.
можно.

Если объект сделать, то его нельзя взять по id

Можно запихнуть в Dictionary, где ключом будет id, а значением - объект


List юзать, или что..

Ну в случае листа придётся каждый раз циклом его обходить, чтобы найти предмет.
Проще взять dictionary
Ответ написан
Комментировать
petushok55
@petushok55 Автор вопроса
Обучаюсь на практике.
Вообще, так как объектов немного, я решил создать метод GetWithId, который принимает значение int id
а внутри через switch case возвращаю нужный класс в соответствии с запрошенным айди
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы