人気のオープンソース Unity ネットワーキング ソリューション Mirror および Mirage に基づく Godot 用の高レベル C# ネットワーキング
サンプルプロジェクトのビデオデモ: https://youtu.be/Ty55PZWtsJI
Mirage の Unity バージョンのドキュメントは、https://miragenet.github.io/Mirage/ にあります。同じ概念のほとんどが Godot バージョンにも適用されます。
git clone [email protected]:James-Frowen/Mirage.Godot.gitsrc/Mirage.Godot/Scripts Godot プロジェクトにコピーします.csprojに、次への参照を追加します。Mirage.Logging.csprojMirage.SocketLayer.csprojdotnet build Mirage.CodeGen.csproj -c Release[-o|--output <OUTPUT_DIRECTORY>]を使用してパスを見つけやすくします< Project Sdk = " Godot.NET.Sdk/4.1.1 " >
...
< Target Name = " PostBuild " AfterTargets = " PostBuildEvent " >
< Exec Command = " path/to/Mirage.CodeGen.exe $(TargetPath) -force " />
< Error Condition = " $(ExitCode) == 1 " />
</ Target >
< Target Name = " PrePublish " BeforeTargets = " Publish " >
< Exec Command = " path/to/Mirage.CodeGen.exe $(PublishDir)$(TargetFileName) $(TargetDir) -force " />
< Error Condition = " $(ExitCode) == 1 " />
</ Target >
</ Project >現在、 Mirage.CodeGen.csproj Mirage.Godot.csprojへの参照を使用して Mirage タイプを検索しますが、実行時にはターゲット csproj 内のタイプが使用されます。
上記の手順を実行するコマンド ( path/to/project実際のプロジェクトに置き換えます)
git clone [email protected]:James-Frowen/Mirage.Godot.git
cd Mirage.Godot
cp src/Mirage.Godot/Scripts " path/to/project/Mirage.Godot "
dotnet build src/Mirage.Core/Mirage.CodeGen/Mirage.CodeGen.csproj -o ./CodeGen次に、 CodeGen/CodeGen.exeへのパスを使用してPostBuildターゲットを手動で追加します。
注:ビルド時にsrc/Mirage.Godot/Scripts/Example1フォルダーを除外することもできます。そうしないと、Mirage.Godot DLL に保存されてしまいます。
Mirage.Godot は Mono.Cecil を使用して、コンパイル後に C# ソース コードを変更します。これにより、機能のパフォーマンスが高く、使いやすくなります。
セットアップするには、このコードを godot プロジェクトのデフォルトの csproj に追加します。
< Target Name = " PostBuild " AfterTargets = " PostBuildEvent " >
< Exec Command = " path/to/Mirage.CodeGen.exe $(TargetPath) -force " />
< Error Condition = " $(ExitCode) == 1 " />
</ Target >
< Target Name = " PrePublish " BeforeTargets = " Publish " >
< Exec Command = " path/to/Mirage.CodeGen.exe $(PublishDir)$(TargetFileName) $(TargetDir) -force " />
< Error Condition = " $(ExitCode) == 1 " />
</ Target > Path/To/Mirage.CodeGen.exeパスを、 Mirage.CodeGen.exeファイルを構築した場所に変更します。
両方のターゲットが必要であることに注意してください。
TargetPathエディターで最適に機能し、コード生成の変更が実行前に確実に適用されるようにします。TargetPathビルドのエクスポート時にコピーされたパスではないため、 PublishDirが必要ですこの例では、シンボリックリンクを使用して、2 番目のプロジェクトに Mirage.Godot スクリプトを含めます。
これらのシンボリックリンクを使用してこのリポジトリのクローンを作成するには、管理者として実行します。
git clone -c core.symlinks=true [email protected]:James-Frowen/Mirage.Godot.gitシンボリックリンクなしで(zip ファイルからなど)ダウンロードする場合は、ファイルをsrc/Mirage.Godot/Scriptsからsrc/Mirage.Godot.Example1/Mirage.Godotに手動でコピーする(移動ではなく)必要があります。
コード生成をローカルで開発する場合、このステップを PostBuild ターゲットの先頭に追加して、実行前にコード生成プロジェクトを再構築することができます。
< Exec Command = " dotnet build $(ProjectDir)/../Mirage.Core/Mirage.CodeGen/Mirage.CodeGen.csproj -c Release " />