Склонируйте этот репозиторий в папку Packages.
Для тех, кто захочет что-нибудь менять в плагине, можно добавить его в Packages как git submodule, однако все изменения необходимо отправлять при помощи Pull-Request.
Откройте файл Packages/manifest.json и вставьте в него следующую стоку:
{
"dependencies": {
"ru.realityfamily.statecontrol": "https://github.com/RealityFamily/StateControl_Unity.git",
...
}
}
После этого сохраните файл и откроейте снова Unity.
Скачайте последнюю версию сборки отсюда и проследуйте инструкции по установке прилагаемой к ней.
Состояние - это некое положение, в которое можно поместить проект.
Например рассмотрим вариант использования в игре.
Состояние "Выбор сложности" - поместит пользователя в состояния выбора уровня сложности.
Cостояние "Начало игры" - поместит пользователя в игровую зону и запустит игровую логику.
Cостояние "Финиш" - поместит пользователя перед доской рейтинга, где следующий пользователь перезапустит игру или администратор нажмет на "Выбор сложности".
Упаковка и отправка - это действие системы по преобразованию введенных разработчиком данных в JSON формат и отправке этих данных на сервер по адресу, предоставленному разработчиком.
![]()
После установки сверху должен появиться пункт меню State Editor, если вдруг его там нет, то проверьте правильность установки.
Отркыть окно редактора состояний открывает окно, в котором происходит основное изменение состояний приложения.

Однако, редактор доступ только в том случае, если на сцене уже есть объект состояний. Система сразу оповестит вас об этом и поскажет, как его добавить.
Добавление объекта состояний добавляет на сцену объект, хранящий в себе всю нужную для работы плагина информацию и все состояния приложения.
Если объект уже находится на сцене, то плаги предупредит об этом.
Упаковка и отправка открывает окно с информацией, хранящейся на сервере, и внесенные в плагин состояния.

Для использования плагина не нужно прикладывать много усилий.
- Нужно добавить на сцену объект состояний. State Editor -> Add States

- Нужно открыть редактор состояний. State Editor -> Open State Editor

- Ввести название приложения, которое потом отобразится в пульте управления состояниями.

- Ввести URL доступа к серверу.
<URL сервера>
URL сервера не должен в себе содержать протокол подключения и должен оканчиваться слешом "/".
- Развернуть перечень состояний и заполнить.
Чтобы добавить состояние, нужно нажать на кнопку с символом "+". а для того, чтобы его удалить, нужно нажать на кнопку с иконкой ведра.

Запрещено вводить два состояния с одинаковым названием. Плагин данные действие не дает произвети с соответствующим сообщением.
- Для подключения к состояниям действия необходимо сначала получить ссылку на объект состояний. Её можно полчить поиском объекта по тегу
States.
private WebConnection _states = GameObject.FindGameObjectWithTag("States").GetComponent<WebConnection>();
- После чего можно производить само подключение.
Важно помнить, что подключаемые методы не должны иметь входящих переметров и не могут ничего выводить.
_states.ConnectToDelegate("State1", () => { Debug.Log("Called State1"); });
- После того, как все необходимые состояния были добавлены в редакторе, открываем "Упаковка и отправка"

- Проверяем что все данные считаны плагином корректно и можем отправлять состояния на сервер.

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




