Сохранение в List

Общие вопросы о Unity3D

Сохранение в List

Сообщение Potay 12 янв 2018, 17:49

Здравствуйте, я создал лист в который буду сохранять скрипт с объектов, но вот одна проблема, а именно в том, что я сохраняю скрипт в лист и потом удаляю объект. Вроде все нормально, но в листе после удаления объекта он теряет ссылку на объект и в том числе и на скрипт. Я долго думал и решил, что пока буду использовать SetActive(false), но это ведь не дело. Можете сказать какой-нибудь еще способ сохранить скрипт в лист и при этом удалить объект?

Лист объявляю так
Синтаксис:
Используется csharp
public List<Item> list;

Item - скрипт которые хранят объекты, которые нужны для этого листа
Potay
UNец
 
Сообщения: 9
Зарегистрирован: 14 дек 2017, 18:24

Re: Сохранение в List

Сообщение ru66ssb 12 янв 2018, 18:03

вопрос - а зачем вообще эти скрипты хранить с удаленных объектов?
Аватара пользователя
ru66ssb
UNIт
 
Сообщения: 107
Зарегистрирован: 27 июн 2015, 07:01

Re: Сохранение в List

Сообщение Potay 12 янв 2018, 18:08

Это для инвентаря, в них хранятся вся инфа об объекте
Potay
UNец
 
Сообщения: 9
Зарегистрирован: 14 дек 2017, 18:24

Re: Сохранение в List

Сообщение Anonymyx 12 янв 2018, 19:30

Это ссылочные типы, вот и удаляются. Сохраняйте свойства (поля) объекта и когда надо создаете объект и присваиваете обратно данные.
Или храните id объекта.
Аватара пользователя
Anonymyx
Адепт
 
Сообщения: 1865
Зарегистрирован: 05 апр 2015, 15:55

Re: Сохранение в List

Сообщение Cr0c 13 янв 2018, 09:34

Anonymyx писал(а):Это ссылочные типы, вот и удаляются. Сохраняйте свойства (поля) объекта и когда надо создаете объект и присваиваете обратно данные.
Или храните id объекта.

А не лучше в листе и хранить инвентарь, а на объекте только ссылку на элемент списка?
Аватара пользователя
Cr0c
Адепт
 
Сообщения: 2805
Зарегистрирован: 19 июн 2015, 13:50


Вернуться в Общие вопросы

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 6