Как сделать что бы свойства сохранялись?

Раздел, посвящённый всему, что связано с программированием для Редактора Юнити. Скрипты Редактора, Wizards и прочее.

Как сделать что бы свойства сохранялись?

Сообщение kalach 15 май 2012, 10:41

У меня есть скрипт для генерации ландшафта, он реализован в качестве расширения редактора. У меня собственно вопрос, как сохранить его параметры. Когда к примеру навешиваешь простой скрипт(унаследованный от MonoBehaviour) на объект, все его паблик переменные сохраняются, а тут они постоянно сбрасываются в дефолтные значения.
kalach
UNец
 
Сообщения: 34
Зарегистрирован: 04 апр 2012, 09:28

Re: Как сделать что бы свойства сохранялись?

Сообщение waruiyume 15 май 2012, 10:56

Аватара пользователя
waruiyume
Адепт
 
Сообщения: 6143
Зарегистрирован: 30 окт 2010, 05:03
Откуда: Ростов на Дону

Re: Как сделать что бы свойства сохранялись?

Сообщение kalach 15 май 2012, 12:54

Спасибо. Придется руками значит все отслеживать.

Еще вопрос возник, в этом скрипте у меня еще у некоторых текстур меняется filtermode. Это сразу же видно, все ок. Но в инспекторе выбрана старая фильтрация, и соответственно через некоторое время все возвращается назад. Что делать, куда копать?
kalach
UNец
 
Сообщения: 34
Зарегистрирован: 04 апр 2012, 09:28

Re: Как сделать что бы свойства сохранялись?

Сообщение kalach 04 июн 2012, 10:04

В общем дохлый форум (полная Ж)

Может кому пригодится. В общем не нужно ничего сохранять руками.
1) Если вы изменили свойства объекта то сделайте вызов SetDirty()
2) По идее unity делает serrilization для всех основных классов включая List. В моем случае у меня был массив Listo'в. И вот в этом случае о сереализации говорить не приходится, но выход есть:
Синтаксис:
Используется csharp
    [System.Serializable]
    public class subList{
        public List<Vector3> array;
               
                public Vector3 this[int i]{
                get{
                        return array[i];
                }
                set{
                        array[i] = value;
                }
        }
    }
    public      subList[]               arrayOfList= new subList[4];
 

Конечно в этом случае придется юзать свойство array, но зато у нас все происходит автоматом.
kalach
UNец
 
Сообщения: 34
Зарегистрирован: 04 апр 2012, 09:28


Вернуться в Editor

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1