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

В пакет входит два объекта:

  1. Подключаемая точка (вилка);
  2. Точка для подключения (розетка).

Подключение происходит путем подключения объекта-вилки к объекту-розетки

Содержание

Использование

Для использования механизма соединения двух объектов необходимо поместить оба объекта в иерархию соединяемых объектов.

В качестве примера были взяты куб и пирамида

После создания объектов на сцене необходимо создать и два объекта – подключаемая точка (вилка) и точка для подключения (розетка). Также их необходимо поместить в иерархию объектов, которые нужно соединить

Размер точки определяет область взаимодействия с точкой. Поворот регулирует соединение объектов – после соединения оси этих точек совпадут. 

Также каждая из точек содержит свои настройки. Подключаемая точка (вилка) имеет следующие поля:

  1. Может ли быть разъединен – поле, отвечающее за возможность разделения точек после соединения;
  2. Может ли соединяться – поле, отвечающее за возможность соединения точек;
  3. Ключ подключения – ключевое слово, которое должно быть одинаковым на двух точках для возможного соединения.

Каждая из точек содержит свои настройки. Подключаемая точка (вилка) имеет следующие поля:

  1. Может ли соединяться – поле, отвечающее за возможность соединения точек;
  2. Ключ подключения – ключевое слово, которое должно быть одинаковым на двух точках для возможного соединения

После того, как у родительских объектов была включена возможность взятия в руку можно попробовать соединить объекты

 

Поднесение объектов друг к другу

Соединение после отпускания пирамиды

Также можно добавлять большое количество точек соединения к объекту

Blockly

В каждом из объектов заложен своя логика. Она необходима для регулирования взаимодействия точек и создания сценария с этими взаимодействиями

Подключаемая точка (вилка)

В подключаемой точке заложен следующий набор блоков:

Логика


Данный блок возвращает «истина», если установлен флаг возможности разъединения


Данный блок возвращает «истина», если установлен флаг возможности соединения


Данный блок возвращает «истина», если точка подключена к другой точке

Действия


Данный блок позволяет подключить объект к другому объекту


Данный блок позволяет подключить объект к другому объекту за указанное время. За это время объект медленно перемещается в сторону целевого объекта и подключается


Данный блок задает возможность отсоединения при взятии в руку


Данный блок при выполнении отсоединяет подключенную точку


Данный блок задает возможность соединения к другой точке

События


Данное событие вызывается при подключении. Аргумент Point содержит в себе объект, точка которого была подключена


Данное событие вызывается при отключении. Аргумент Point содержит в себе объект, точка которого была отключена


Данное событие вызывается при появлении превью. Аргумент Point содержит в себе объект, точка которого была поднесена к данной.


Данное событие вызывается при скрытии превью. Аргумент Point содержит в себе объект, точка которого была поднесена к данной.

Точка для подключения (розетка)

В точке для подключения заложен следующий набор блоков:

Логика


Данный блок возвращает «истина», если установлен флаг возможности соединения


Данный блок возвращает «истина», если точка подключена к другой точке

Действия


Данный блок позволяет подключить объект к другому объекту


Данный блок позволяет подключить объект к другому объекту за указанное время. За это время объект медленно перемещается в сторону целевого объекта и подключается


Данный блок позволяет отобразить прототип подключаемого объекта


Данный блок позволяет скрыть прототип


Данный блок позволяет отобразить прототип наиболее подходящего объекта


Данный блок при выполнении отсоединяет подключенную точку


Данный блок задает возможность соединения к другой точке

События


Данное событие вызывается при подключении. Аргумент Point содержит в себе объект, точка которого была подключена


Данное событие вызывается при отключении. Аргумент Point содержит в себе объект, точка которого была отключена


Данное событие вызывается при появлении превью. Аргумент Point содержит в себе объект, точка которого была поднесена к данной


Данное событие вызывается при скрытии превью. Аргумент Point содержит в себе объект, точка которого была поднесена к данной