diff options
author | Ignacio Roldán Etcheverry <ignalfonsore@gmail.com> | 2022-11-29 01:01:36 +0100 |
---|---|---|
committer | Ignacio Roldán Etcheverry <ignalfonsore@gmail.com> | 2022-12-02 14:47:12 +0100 |
commit | f86c6b6ac47ecf3e75c74cb94fd65efa6ea2eb0c (patch) | |
tree | b1443a465787b09f373baf1fdbc4963a18984a54 /thirdparty | |
parent | 3afeb28560c3b10419287538162cded631994ce3 (diff) |
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.
Diffstat (limited to 'thirdparty')
0 files changed, 0 insertions, 0 deletions