godot/modules/mono/editor/GodotTools/GodotTools
Ignacio Roldán Etcheverry 2c180f62d9 C#: Replace P/Invoke with delegate pointers
- Moves interop functions to UnmanagedCallbacks struct that
  contains the function pointers and is passed to C#.

- Implements UnmanagedCallbacksGenerator, a C# source generator that
  generates the UnmanagedCallbacks struct in C# and the body for the
  NativeFuncs methods (their implementation just calls the function
  pointer in the UnmanagedCallbacks). The generated methods are needed
  because .NET pins byref parameters of native calls, even if they are
  'ref struct's, which don't need pinning. The generated methods use
  `Unsafe.AsPointer` so that we can benefit from byref parameters
  without suffering overhead of pinning.

Co-authored-by: Raul Santos <raulsntos@gmail.com>
2022-08-22 03:36:52 +02:00
..
Build C#: Re-introduce generic Godot Array and Dictionary 2022-08-22 03:36:52 +02:00
Export C#: Use custom project setting for C# project files name 2022-08-22 03:36:52 +02:00
Ides C#: Array, Dictionary and marshaling refactoring 2022-08-22 03:36:52 +02:00
Internals C#: Replace P/Invoke with delegate pointers 2022-08-22 03:36:52 +02:00
Utils C#: Initial NativeAOT support 2022-08-22 03:36:51 +02:00
CsProjOperations.cs Add C# source generator for a new ScriptPath attribute 2021-03-06 21:50:32 +01:00
ExternalEditorId.cs Mono: fix bad long casts and wrong underlying enum types in GodotTools 2020-06-24 09:35:13 -04:00
GodotSharpEditor.cs C#: Replace P/Invoke with delegate pointers 2022-08-22 03:36:52 +02:00
GodotTools.csproj C#: Replace P/Invoke with delegate pointers 2022-08-22 03:36:52 +02:00
HotReloadAssemblyWatcher.cs C#/netcore: Add base desktop game export implementation 2022-08-22 03:36:51 +02:00
PlaySettings.cs C#: Rewrite GodotTools messaging protocol 2020-05-09 21:49:40 +02:00