Страница 1 из 1

Не все на VIZIO

СообщениеДобавлено: 25 май 2012, 19:07
zedzedzed
Доброго дня!

До этого мы использовали Playmaker (это только FSM). Вот решили перейти в новом проекте на Антарес.

У нас очень много кусков написано просто с использованием MonoBehaviour. А так же есть куча не стандартных вещей таких как SmoothMove, NGUI и т.п. с которыми тоже нужно уметь работать.

В связи с этим помогите пожалуйста решить несколько простых вопросов, этими вопросами наверняка задаются многие команды разработчиков, которые пытаются перейти на визуальное программирование.

1. Как создать свой активатор. А так же необъодимо иметь возможность из обычных скриптов вызывать триггеры в VIZIO.
2. Как совершать обратное действие. т.е. вызов Метода в скрипте на GameObject и просто в статичном. (Думается это делается при помощи Wizards/.../Call Method)
3. Не совсем понятен момент когда у объекта есть его логики и есть глобальная (UNIVERSE Logic Container), как организовать их взаимосвязь.
4. Так же при создании (instanit) объекта как навесить, скриптово, на него Визуальную логику.

PS: В основном хочется получить не просто ответы типа "Можно сделать через вот так и будет работать", а как это делать правильно для данного инструмента.

Заранее благодарю за ответы...

Re: Не все на VIZIO

СообщениеДобавлено: 26 май 2012, 12:00
Neodrop
1. [V] Чтобы создать свой активатор, используйте атрибут [MonoBehaviourEvent(MonoBehaviourEventType)] из Antares.Vizio.Runtime.Core
К примеру вот это будет Update :
Синтаксис:
Используется csharp
[MonoBehaviourEvent(MonoBehaviourEventType.Update)]
public void Update(params object[] parametres)
{}
 


2. [V] Можно визардами (причём есть специализированные - MonoBehaviour) - они предоставляют удобный доступ ко всем публичным методам всех монобехов в проекте. Или можно написать свой собственный блок. Для частых вызовов (десятки или сотни раз за кадр, Визарды не слишком быстры)
3. [V] Про это не понял ничего. :-\
4. [V] Проще инстансировать объект с уже готовым графом. Или иметь пустышку с графом, для добавления к новому объекту как чайлд. Можно и через AddComponent, но я не вижу в этом никакого смысла - только сложности.

Re: Не все на VIZIO

СообщениеДобавлено: 26 май 2012, 12:21
pod4444
Под 3 подразумевалась связь двух графов, один из которых является графом основной логики игры, а второй для экземпляра какого-то объекта.
Но в данном случае нет разницы какой функционал несут графы для Вас, они равны по своим правам (:

Самая простейшая связь это работа с переменными из другого графа + мэсседжи.

Насчет своих активаторов, не ясно нафига это нужно? Есть стандартные активаторы, FSM активаторы, Messages. Что еще может такого произойти, что для этого нужно делать свой активатор?

Re: Не все на VIZIO

СообщениеДобавлено: 26 май 2012, 13:18
Neodrop
В следующей версии так же введена возможность проверять и назначать FSM стейты в другом графе.

Re: Не все на VIZIO

СообщениеДобавлено: 28 май 2012, 08:25
zedzedzed
pod4444 писал(а):Насчет своих активаторов, не ясно нафига это нужно? Есть стандартные активаторы, FSM активаторы, Messages. Что еще может такого произойти, что для этого нужно делать свой активатор?


Ну например есть сетевая библиотека и нужны активаторы событий Connect, Disconnect, Message и т.п.

Сейчас это реализовано так:
2012-05-28 в 9.26.33.png


Коль я пишу уже весь СмартБлок кодом зачем мне тут 2-ва лишних активатора, которые итак всегда должны присутствовать.

PS: Спасибо всем за ответы.

Re: Не все на VIZIO

СообщениеДобавлено: 28 май 2012, 09:10
zedzedzed
А еще можно ответить на такой вопросец, он есть в первом пункте но как-то затерялся:
Необходимо иметь возможность из обычных скриптов вызывать триггеры в VIZIO.

Тут имеется ввиду следующее есть у меня просто Монобех, с методом Update(), и там например происходит какое-то событие, при его наступлении нужно вызвать триггер в логике (Наверное SendMessage).
Тут еще хочется спросить можно ли уточнять цели для этого, ну т.е. есть 2-ва Инстансированных объекта с логикой, нужно передать одному из них сообщение (Вызвать триггер).

Re: Не все на VIZIO

СообщениеДобавлено: 28 май 2012, 14:43
pod4444
zedzedzed писал(а):А еще можно ответить на такой вопросец, он есть в первом пункте но как-то затерялся:
Необходимо иметь возможность из обычных скриптов вызывать триггеры в VIZIO.

Тут имеется ввиду следующее есть у меня просто Монобех, с методом Update(), и там например происходит какое-то событие, при его наступлении нужно вызвать триггер в логике (Наверное SendMessage).
Тут еще хочется спросить можно ли уточнять цели для этого, ну т.е. есть 2-ва Инстансированных объекта с логикой, нужно передать одному из них сообщение (Вызвать триггер).


Так не вспомню, но на буржуйской версии форума Universe был кажется такой вопрос, или мне все-таки кажется.
Скажу точно, что я так делал.
Поковыряйте сам [vizio] .

Re: Не все на VIZIO

СообщениеДобавлено: 28 май 2012, 19:15
Neodrop
Используйте MessageManager и шлите мессаги ресиверам. Из пространства Antares.Vizio.Runtime