Кнопки, индикация и их взаимосвязи

Визуальный редактор логики Universe (VIZIO)

Кнопки, индикация и их взаимосвязи

Сообщение Eclips 29 мар 2012, 08:08

Привет всем! Unity изучаю не так давно. Есть задача освоить технологию взаимодействия множества элементов. В данный момент под "элементами" подразумевается множество (может быть от 100 до 5000) объектов, которые должны взаимодействовать друг с другом. Попросту говоря - это органы управления, индикация и их система состояний, эдакий эмулятор штатной аппаратуры. Задача состоит в том, как сделать взаимодействия между ними, чтоб оно было простым и понятным через VIZIO.

А конкретно, для начала нужно реализовать логику:

Изображение

При нажатии на кнопку "С", индикатор "A" гаснет, 3 секунды мигает индикатор "В" потом горит ровным светом при этом пока он не горит ровным светом кнопка "Е" не реагирует на нажатие. Это простой пример, может быть и так, что в таких взаимосвязях могут участвовать до 20 индикаторов и органов управления, вопрос заключается в том как проще на VIZIO это реализовать, подскажите пожалуйста?!

Хотелось бы реализовать на состояниях, пока не пойму как проверить состояние (FSM state) одного объекта из другого. Если реализовывать с помощью message, то не получится ли, что их должно быть как минимум в два раза больше чем объектов управления, а если орган управления имеет 16 состояний (какой-нибудь переключатель)? Как реализовать связи FSM state между разными графами объектов или делать все в одном графе и сохранить его на все взаимодействующие объекты?

Пока витаю между receve, message и FSM.
Аватара пользователя
Eclips
UNец
 
Сообщения: 29
Зарегистрирован: 23 мар 2012, 19:36

Re: Кнопки, индикация и их взаимосвязи

Сообщение Eclips 30 мар 2012, 19:28

Вроде, разобрался. Реализация, вообщем, такая. Все пишу в одном графе, который привязан к верхнему объекту в иерархии модели, где расположены все кнопки и лампы. Использую контейнеры и FSM state.
Аватара пользователя
Eclips
UNец
 
Сообщения: 29
Зарегистрирован: 23 мар 2012, 19:36

Re: Кнопки, индикация и их взаимосвязи

Сообщение Eclips 02 апр 2012, 07:48

А вообще было бы круто реализовать не только группы, но и иерархию состояний (с таким же смыслом как группы, только ,скажем, группа - уровень иерархии), было бы очень удобно выбирать, когда их много. Возможно вопрос с доступностью из других граф решился бы, то есть у нас получается глобальная машина состояний. Граф одного объекта может влиять напрямую на состояния в графе другого объекта, "без лишнего шуму и пыли" - messages. Мощно, удобно, практично, а главное принцип "разделяй и властвуй" не на основе контейнеров, а на основе графа объекта - поиск по коду сокращается во много раз. Например: "У меня 100 buttons и 200 состояний", реализацию логики конкретной кнопки было бы очень удобно реализовывать в графе именно gameObject этой кнопки. Дорогие разработчики, возможно ил это? Думаю не только мне одному - это нужно.
Аватара пользователя
Eclips
UNец
 
Сообщения: 29
Зарегистрирован: 23 мар 2012, 19:36

Re: Кнопки, индикация и их взаимосвязи

Сообщение Neodrop 03 апр 2012, 11:39

Используйте Local Variables для простой и быстрой проверки состояний стейтов одного графа из другого.
Их точно так же можно рассортировать по группам, как и FSM стейты.

Variables >> Local Variable >> Get Value From
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8423
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Кнопки, индикация и их взаимосвязи

Сообщение Eclips 06 апр 2012, 15:38

Разделяй и властвуй! Понял как все должно работать. Отделил "стейты устройства" по конкретным устройствам, которыми управляет панель. При изменении их состояния высылаю mesages, поскольку нужно реагировать на изменения (не правильно использовать update для проверки локальных переменных). Если мне где-то нужно будет осуществлять просто не постоянную проверку, задумаюсь о Local variables. Спасибо, пока все работает шустро!
Аватара пользователя
Eclips
UNец
 
Сообщения: 29
Зарегистрирован: 23 мар 2012, 19:36


Вернуться в Antares Universe (VIZIO)

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

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