virtualx-engine/modules/mono/editor/Godot.NET.Sdk
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
..
Godot.NET.Sdk Fix NuGet fallback folder packages 2022-09-15 09:28:59 +02:00
Godot.SourceGenerators C#: Replace most conversions between Variant and System.Object 2022-12-02 14:47:12 +01:00
Godot.SourceGenerators.Sample C#: Fix Generated ScriptProperty Error. 2022-11-27 17:40:40 +08:00
Godot.NET.Sdk.sln C#: Begin move to .NET Core 2022-08-22 03:35:59 +02:00