はじめに
他言語などからAPI通信でUnityエディタを操縦したいとき、ありますよね。
そういうモジュールを作成したので公開します。
作り方
1. EditorTcpServerをコピペする
このコードをコピペする。
2. 継承クラスを作成
継承してビジネスロジック(あなたがそのTCPサーバーでやりたいこと)を実装します
#if UNITY_EDITOR
using System.Threading.Tasks;
using UnityEditor;
namespace EditorTcpServer.Sample
{
public class SampleServer : EditorTcpServer
{
// ポップアップ名
[MenuItem("Window/Sample TCP Server")]
public static void ShowWindow()
{
// ウィンドウの表示名
GetWindow<SampleServer>("Sample TCP Server");
}
public override Task<string> ProcessRequest(string request)
{
// ここにビジネスロジックを書く
return Task.FromResult($"Dummy: {request}");
}
protected override void OnGUI()
{
base.OnGUI();
// 何か追加GUIを作りたければ書く
}
}
}
#endif
#if UNITY_EDITORがないとビルド時にエラーが発生します
おわり。
使い方
1. TCPサーバーウィンドウを開く
2. 開始ボタンを押す
試し方
簡単なTCP送信Pythonスクリプトを用意したのでテスト用にお使いください


