Описание
Обрабатывает подключение редактора к проигрывателю.
Настраивает события для подключения к проигрывателю и отправки данных в него.
Это одноэлементный класс, доступ к которому можно получить с помощью EditorConnection.instance.
Это можно использовать только в классе, который наследуется от MonoBehaviour, Object или ScriptableObject.
Установите «Профилировщик автоподключения» в настройках сборки или создайте проигрыватель с помощью кода с помощью BuildPipeline, используя параметры сборки: BuildOptions.ConnectToHost и BuildOptions.Development для инициализации соединения.
Идентификатор игрока используется для различения нескольких подключенных игроков. По умолчанию данные отправляются всем игрокам. Идентификатор подключенного игрока не обязательно будет таким же при следующем подключении.
using System;
using UnityEngine;
using UnityEditor;
using System.Text;
using UnityEditor.Networking.PlayerConnection;
using UnityEngine.Networking.PlayerConnection;
public class EditorConnectionExample : EditorWindow
{
public static readonly Guid kMsgSendEditorToPlayer = new Guid("EXAMPLEGUID");
public static readonly Guid kMsgSendPlayerToEditor = new Guid("EXAMPLEGUID");
[MenuItem("Test/EditorConnectionExample")]
static void Init()
{
EditorConnectionExample window = (EditorConnectionExample)EditorWindow.GetWindow(typeof(EditorConnectionExample));
window.Show();
window.titleContent = new GUIContent("EditorConnectionExample");
}
void OnEnable()
{
EditorConnection.instance.Initialize();
EditorConnection.instance.Register(kMsgSendPlayerToEditor, OnMessageEvent);
}
void OnDisable()
{
EditorConnection.instance.Unregister(kMsgSendPlayerToEditor, OnMessageEvent);
EditorConnection.instance.DisconnectAll();
}
private void OnMessageEvent(MessageEventArgs args)
{
var text = Encoding.ASCII.GetString(args.data);
Debug.Log("Message from player: " + text);
}
void OnGUI()
{
var playerCount = EditorConnection.instance.ConnectedPlayers.Count;
StringBuilder builder = new StringBuilder();
builder.AppendLine(string.Format("{0} players connected.", playerCount));
int i = 0;
foreach (var p in EditorConnection.instance.ConnectedPlayers)
{
builder.AppendLine(string.Format("[{0}] - {1} {2}", i++, p.name, p.playerId));
}
EditorGUILayout.HelpBox(builder.ToString(), MessageType.Info);
if (GUILayout.Button("Send message to player"))
{
EditorConnection.instance.Send(kMsgSendEditorToPlayer, Encoding.ASCII.GetBytes("Hello from Editor"));
}
}
}
Свойства
Публичные Методы
DisconnectAll |
Отключает все активные соединения между редактором и проигрывателями. |
Initialize |
Инициализирует EditorConnection. |
Register |
Регистрирует обратный вызов для определенного идентификатора сообщения. |
RegisterConnection |
Регистрирует обратный вызов, выполняемый, когда новый игрок подключается к редактору. |
RegisterDisconnection |
Регистрирует обратный вызов для игрока, когда этот игрок отключается. |
Send |
Отправляет данные подключенным проигрывателям. |
TrySend |
Пытается отправить данные из редактора на подключенные проигрыватели. |
Unregister |
Отменяет регистрацию зарегистрированного обратного вызова. |
UnregisterConnection |
Отменяет регистрацию обратного вызова соединения. |
UnregisterDisconnection |
Отменяет регистрацию обратного вызова отключения. |
Унаследованные члены
Статические Свойства
instance |
Получает экземпляр Singleton. Unity создает экземпляр Singleton при первом доступе к этому свойству. Если вы используете FilePathAttribute, Unity также загружает данные при первом доступе.. |
Свойства
hideFlags |
Должен ли объект быть скрыт, сохранен вместе со сценой или изменен пользователем? |
name |
Имя объекта. |
Публичные Методы
Защищенные методы
Save |
Сохраняет текущее состояние ScriptableSingleton. |
Статические Методы
Destroy |
Удаляет игровой объект, компонент или ресурс. |
DestroyImmediate |
Немедленно уничтожает объект obj. Вместо этого вам настоятельно рекомендуется использовать Destroy. |
DontDestroyOnLoad |
Не уничтожайте целевой объект при загрузке новой сцены. |
FindObjectOfType |
Возвращает первый активный загруженный объект типа Type. |
FindObjectsOfType |
Получает список всех загруженных объектов типа Type. |
Instantiate |
Клонирует исходный объект и возвращает клон. |
CreateInstance |
Создает экземпляр объекта, доступного для сценария. |
GetFilePath |
Получить путь к файлу, в котором сохранен этот ScriptableSingleton. |
Операторы
bool |
Существует ли объект? |
оператор != |
Сравнивает, если два объекта ссылаются на другой объект. |
оператор == |
Сравнивает две ссылки на объекты, чтобы определить, ссылаются ли они на один и тот же объект. |
Сообщения
Awake |
Эта функция вызывается при запуске сценария ScriptableObject. |
OnDestroy |
Эта функция вызывается, когда объект, доступный для сценария, будет уничтожен. |
OnValidate |
Функция только для редактора, которую Unity вызывает при загрузке скрипта или изменении значения в Инспекторе. |
Reset |
Восстановить значения по умолчанию. |