C#: Add dedicated Variant struct, replacing System.Object

This commit is contained in:
Ignacio Roldán Etcheverry
2022-07-28 17:41:49 +02:00
parent a9892f2571
commit 344f5028d4
25 changed files with 776 additions and 124 deletions
@@ -80,7 +80,6 @@ namespace Godot.SourceGenerators.Sample
[Export] private Vector3[] field_Vector3Array = { Vector3.Up, Vector3.Down, Vector3.Left, Vector3.Right };
[Export] private Color[] field_ColorArray = { Colors.Aqua, Colors.Aquamarine, Colors.Azure, Colors.Beige };
[Export] private Godot.Object[] field_GodotObjectOrDerivedArray = { null };
[Export] private object[] field_SystemObjectArray = { 0, 1f, 2d, "foo", Vector3i.Up };
// Generics
[Export] private Godot.Collections.Dictionary<string, string> field_GodotGenericDictionary =
@@ -105,7 +104,7 @@ namespace Godot.SourceGenerators.Sample
new System.Collections.Generic.List<string> { "elem1", "elem2", "elem3" };
// Variant
[Export] private object field_SystemObject = "foo";
[Export] private Variant field_Variant = "foo";
// Classes
[Export] private Godot.Object field_GodotObjectOrDerived;
@@ -80,7 +80,6 @@ namespace Godot.SourceGenerators.Sample
[Export] private Vector3[] property_Vector3Array { get; set; } = { Vector3.Up, Vector3.Down, Vector3.Left, Vector3.Right };
[Export] private Color[] property_ColorArray { get; set; } = { Colors.Aqua, Colors.Aquamarine, Colors.Azure, Colors.Beige };
[Export] private Godot.Object[] property_GodotObjectOrDerivedArray { get; set; } = { null };
[Export] private object[] property_SystemObjectArray { get; set; } = { 0, 1f, 2d, "foo", Vector3i.Up };
// Generics
[Export] private Godot.Collections.Dictionary<string, string> property_GodotGenericDictionary { get; set; } =
@@ -105,7 +104,7 @@ namespace Godot.SourceGenerators.Sample
new System.Collections.Generic.List<string> { "elem1", "elem2", "elem3" };
// Variant
[Export] private object property_SystemObject { get; set; } = "foo";
[Export] private Variant property_Variant { get; set; } = "foo";
// Classes
[Export] private Godot.Object property_GodotObjectOrDerived { get; set; }
@@ -30,7 +30,7 @@ namespace Godot.SourceGenerators.Sample
{
public partial class NesterClass : RefCounted
{
public override object _Get(StringName property) => null;
public override Variant _Get(StringName property) => default;
}
}
}