Вот, кстати, как им "правильно" пользоваться? Где хранить актуальную версию? Другими словами при изменениях запрашивать данные с лока и изменять или заполнять локальную копию, полученную в аттач?
Вот, кстати, как им "правильно" пользоваться? Где хранить актуальную версию? Другими словами при изменениях запрашивать данные с лока и изменять или заполнять локальную копию, полученную в аттач?
При любых изменениях, которые требуют запоминания, обработку и хранение лучше проводить в локомотиве. Для этого при любом переключении пользователем органов управления надо вызывать в локомотиве запоминание его нового положения. Либо не только его, а вообще всех параметров включая обновлённый. При аттаче производить загрузку запомненных параметров.
PS локомотив кстати в теории должен запоминать свои параметры в SetProperties()|GetProperties() но это есть вроде как только на М62...
Ну это понятно, при любых изменениях вызываем СктКабинДата. Вопрос не в этом был. Где-то видел, что перед сохранением вызывается ГетКабинДата. Т.е. получается, что "актуальная версия" лежит в локомотиве.
kemal, не знаю почему, но при использовании этого контейнера CM скандалит.
CCP предлагает использовать scritable-asset, но это так же не несет никакого смысла..
Пытаюсь запихать это в кабину.
---------- Сообщение добавлено в 17:47 ---------- Предыдущее сообщение размещено в 17:42 ----------
Извиняюсь, разобрался.
А потом... какой-то идиот включил свет.
А, тоже кабина...
TRam_, ну с GetProperties() и SetProperties() всё понятно, я именно про работу с КабинДата.
Кстати, можно ли локомотиву "получить" свою кабину? Чтобы можно было из скрипта локомотива, например, сообщения в кабину отправлять. Или единственный способ - положить в КабинДата и ждать пока там Update() сработает?
нет, локомотив напрямую не может получить ссылку на кабину. Хотя вручную это можно попробовать сделать.
самое тупое - вкладываем в CabinData ссылку на кабину, затем в обработчике (который в локомотиве, SetCabinData) забираем эту ссылку и делаем с ней что нам нужно. Только тут надо сделать всё аккуратно, потому что циклически вложения (скрипт лока инклудится в кабину, скрипт кабины инклудится в лок) могут не прокатить.
Последний раз редактировалось TRam_; 21.01.2013 в 23:19.
1. Всё прекрасно инклудируется
2. Совершенно не понятно, зачем локу работать с кабиной. Лок об объекте кабины вообще не должен ничего знать. А то она есть, пересели в другой пс, её нет. Если нет желания показать, как не высвобождаются ресурсы после перехода в новый пс, и жука при обращении к кабине после этого, то этого не надо делать никогда.
3. Кабин дата должен быть предназначен только для хранения состояния кабины. Лок должен обрабатывать эти состояния именно через него.