GDBridge 0.12.0
dotnet add package GDBridge --version 0.12.0
NuGet\Install-Package GDBridge -Version 0.12.0
<PackageReference Include="GDBridge" Version="0.12.0" />
paket add GDBridge --version 0.12.0
#r "nuget: GDBridge, 0.12.0"
// Install GDBridge as a Cake Addin #addin nuget:?package=GDBridge&version=0.12.0 // Install GDBridge as a Cake Tool #tool nuget:?package=GDBridge&version=0.12.0
GDBridge
⚠Not feature complete
Some thing can change but not that much.
Simple package to simplify C# → GDScript interoperability.
It comes in two part the bridge code and the source generator.
The generator will parse all the GDScript in the project and generate a C# GDBridge class for each of them.
It aims to reduce or remove the need to use string and untyped way of communicating with GDScript from C#.
Get it here → https://www.nuget.org/packages/GDBridge and here → https://www.nuget.org/packages/GDBridge.Generator
Feature
- Call GDScript from C#.
- Use your C# class in the generated code(Even the bridge themselve).
- Respect the _private method and field.
- Configurable.
- GodotObject support.
- Only generate class if there is matching partial bridge class in your project.
- Signal support. And more to come.
How to use(See Sample)
Make sure to instal both GDBridge and GDBridge.Generator.
Only script with class_name will be bridged.
Variable and function starting with _ are not expose in the bridge by default.
Add this to your .csproj:
<ItemGroup>
<AdditionalFiles Include="**/*.gd"/>
</ItemGroup>
using GdBridge;
var myGDScript = new GdScriptBridgeFactory(this).ResolveNode<ArenaBridge>(arena);
myGDScript.on_configure(42);
The bridge class is partial, so you can extend it if needed.
The bridge class is in the global namespace.
You can extend it like this:
partial class ArenaBridge
{
public void DoSomethingElse(int deckId) => on_configure(deckId);
}
How to configure(Optional)
Create the GDBridgeConfiguration.json
in the root directory and add this to it:
{
"UsePascalCase": true
}
The schema is here: Configuration.cs
Feel free to ask for feature or question.
Pull Request are welcome.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net6.0
- GodotSharp (>= 4.3.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.