人気のオープンソース 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.git
src/Mirage.Godot/Scripts
Godot プロジェクトにコピーします.csproj
に、次への参照を追加します。Mirage.Logging.csproj
Mirage.SocketLayer.csproj
dotnet 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 " />