Зачастую для создания взаимосвязей между объектами хочется сделать свойство, которое бы хранило в себе объект сцены или даже список объектов. Причем желательно с репликацией в пользовательский интерфейс. Например, объекту Б для вычислений нужен объект А, который пользователь может назначить из сцены перетащив объект А в соответствующее свойство объекта Б.

Для такого свойства я сперва нашел класс FBPropertyModel, который пробовал использовать. Все мои попытки провалились: свойство не желает корректно ссылаться на объекты и не работает сохранение/загрузка вместе с файлом. Приходится делать работу с файлом в полу ручном режиме, сохраняя имя объекта и производя поиск в сцене по имени при загрузке.

Но мне попался другой класс — FBPropertyListObject. С ним дело обстоит лучше, его можно использовать как список либо для назначения только одного объекта, путем выставления соответствующего флага
.SetSingleConnect(true);
При использовании данного свойства работают назначения как внутренние так и внешние через пользовательский интерфейс. ? работает сохранение / загрузка свойства.

Так что мораль сей басни — используй FBPropertyListObject вместо FBPropertyModel

Еще небольшая подсказка как сделать свойство для пользователя только для чтения
.ModifyPropertyFlag( kFBPropertyFlagReadOnly, true );

МоБи подсказка: свойство со списком моделей
Метки:    

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *