virtualx-engine/modules/mono/glue/GodotSharp
Ignacio Roldán Etcheverry f86c6b6ac4 C#: Replace most conversions between Variant and System.Object
This commit replaces most usages of `ConvertManagedObjectToVariant` and
`ConvertVariantToManagedObjectOfType`, by using the `Godot.Variant`
struct instead of `System.Object`.

The most notable change is to the `GetGodotPropertyDefaultValues` method
that's generated for scripts. The dictionary it returns now stores
`Godot.Variant` values.

Remaining usages are:

- The `DelegateUtils` class, for the serialization of closure display
  classes during assembly reloading by the editor. These display classes
  are compiler generated classes to store values captured by a closure.
  Since it's generated by the compiler, the only way we have to access
  the fields is through reflection. This leads to using `System.Object`.
- Converting parameters when invoking constructors from the engine.
  This will be replaced with source generators in the future.
- Legacy support for old `GetGodotPropertyDefaultValues` return values.
  We need to keep supporting the old version of this generated method
  for some time. Otherwise, if loading a project built with the previous
  version, it could lead to the loss of exported property values.
  Ideally, we should remove this legacy support before a stable release.
2022-12-02 14:47:12 +01:00
..
ExternalAnnotations C#: Re-implement assembly reloading with ALCs 2022-08-22 03:36:51 +02:00
Godot.SourceGenerators.Internal C#: Add global:: namespace to generated source 2022-11-26 01:13:16 +01:00
GodotPlugins C#: Load assemblies as collectible only in the Godot editor 2022-10-17 00:22:48 +02:00
GodotSharp C#: Replace most conversions between Variant and System.Object 2022-12-02 14:47:12 +01:00
GodotSharpEditor C#: Generate symbols packages 2022-10-08 13:59:06 +02:00
.editorconfig C#: Code cleanup and greatly reduce use of C# pointers 2022-08-22 03:36:51 +02:00
.gitignore Mono/C#: Re-structure API solution and GodotTools post-build target 2019-12-28 20:48:55 +01:00
GodotSharp.sln C#: Replace P/Invoke with delegate pointers 2022-08-22 03:36:52 +02:00
GodotSharp.sln.DotSettings C#: Re-implement assembly reloading with ALCs 2022-08-22 03:36:51 +02:00