Создание нового помощника подключения

Данный фреймворк уже содержит рабочий компонент помощника соединения. Это ClientToMasterConnector. Но бывают ситуации когда необходимо использовать несколько помощников соединения с другим сервером в одной сцене. В данном случае использование ClientToMasterConnector не поможет. Дело в том, что ClientToMasterConnector является производным от класса Singleton и поэтому не может иметь вторую копию экземпляра в сцене. Вам поможет создание собственного помощника соединения.

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

public class DataManagerServiceConnector : MonoBehaviour
{

}

Делаем данный класс производным от ConnectionHelper и, в качестве типа, передаем наш класс DataManagerServiceConnector, как показано ниже.

public class DataManagerServiceConnector : ConnectionHelper<DataManagerServiceConnector>
{

}

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

public class DataManagerServiceConnector : ConnectionHelper<DataManagerServiceConnector>
{
    protected override IClientSocket ConnectionFactory()
    {
        return Mst.Create.ClientSocket();
    }
}

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

public class DataManagerServiceConnector : ConnectionHelper<DataManagerServiceConnector>
{
    protected override void Awake()
    {
        base.Awake();

        // Initialize something else
    }

    protected override IClientSocket ConnectionFactory()
    {
        return Mst.Create.ClientSocket();
    }
}