|
@@ -584,111 +584,6 @@ namespace Godot.NativeInterop
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
- public static unsafe object? ConvertVariantToManagedObject(in godot_variant p_var)
|
|
|
- {
|
|
|
- switch (p_var.Type)
|
|
|
- {
|
|
|
- case Variant.Type.Bool:
|
|
|
- return p_var.Bool.ToBool();
|
|
|
- case Variant.Type.Int:
|
|
|
- return p_var.Int;
|
|
|
- case Variant.Type.Float:
|
|
|
- {
|
|
|
-#if REAL_T_IS_DOUBLE
|
|
|
- return p_var.Float;
|
|
|
-#else
|
|
|
- return (float)p_var.Float;
|
|
|
-#endif
|
|
|
- }
|
|
|
- case Variant.Type.String:
|
|
|
- return ConvertStringToManaged(p_var.String);
|
|
|
- case Variant.Type.Vector2:
|
|
|
- return p_var.Vector2;
|
|
|
- case Variant.Type.Vector2i:
|
|
|
- return p_var.Vector2i;
|
|
|
- case Variant.Type.Rect2:
|
|
|
- return p_var.Rect2;
|
|
|
- case Variant.Type.Rect2i:
|
|
|
- return p_var.Rect2i;
|
|
|
- case Variant.Type.Vector3:
|
|
|
- return p_var.Vector3;
|
|
|
- case Variant.Type.Vector3i:
|
|
|
- return p_var.Vector3i;
|
|
|
- case Variant.Type.Transform2d:
|
|
|
- return *p_var.Transform2D;
|
|
|
- case Variant.Type.Vector4:
|
|
|
- return p_var.Vector4;
|
|
|
- case Variant.Type.Vector4i:
|
|
|
- return p_var.Vector4i;
|
|
|
- case Variant.Type.Plane:
|
|
|
- return p_var.Plane;
|
|
|
- case Variant.Type.Quaternion:
|
|
|
- return p_var.Quaternion;
|
|
|
- case Variant.Type.Aabb:
|
|
|
- return *p_var.AABB;
|
|
|
- case Variant.Type.Basis:
|
|
|
- return *p_var.Basis;
|
|
|
- case Variant.Type.Transform3d:
|
|
|
- return *p_var.Transform3D;
|
|
|
- case Variant.Type.Projection:
|
|
|
- return *p_var.Projection;
|
|
|
- case Variant.Type.Color:
|
|
|
- return p_var.Color;
|
|
|
- case Variant.Type.StringName:
|
|
|
- {
|
|
|
- // The Variant owns the value, so we need to make a copy
|
|
|
- return StringName.CreateTakingOwnershipOfDisposableValue(
|
|
|
- NativeFuncs.godotsharp_string_name_new_copy(p_var.StringName));
|
|
|
- }
|
|
|
- case Variant.Type.NodePath:
|
|
|
- {
|
|
|
- // The Variant owns the value, so we need to make a copy
|
|
|
- return NodePath.CreateTakingOwnershipOfDisposableValue(
|
|
|
- NativeFuncs.godotsharp_node_path_new_copy(p_var.NodePath));
|
|
|
- }
|
|
|
- case Variant.Type.Rid:
|
|
|
- return p_var.RID;
|
|
|
- case Variant.Type.Object:
|
|
|
- return InteropUtils.UnmanagedGetManaged(p_var.Object);
|
|
|
- case Variant.Type.Callable:
|
|
|
- return ConvertCallableToManaged(p_var.Callable);
|
|
|
- case Variant.Type.Signal:
|
|
|
- return ConvertSignalToManaged(p_var.Signal);
|
|
|
- case Variant.Type.Dictionary:
|
|
|
- {
|
|
|
- // The Variant owns the value, so we need to make a copy
|
|
|
- return Collections.Dictionary.CreateTakingOwnershipOfDisposableValue(
|
|
|
- NativeFuncs.godotsharp_dictionary_new_copy(p_var.Dictionary));
|
|
|
- }
|
|
|
- case Variant.Type.Array:
|
|
|
- {
|
|
|
- // The Variant owns the value, so we need to make a copy
|
|
|
- return Collections.Array.CreateTakingOwnershipOfDisposableValue(
|
|
|
- NativeFuncs.godotsharp_array_new_copy(p_var.Array));
|
|
|
- }
|
|
|
- case Variant.Type.PackedByteArray:
|
|
|
- return VariantUtils.ConvertAsPackedByteArrayToSystemArray(p_var);
|
|
|
- case Variant.Type.PackedInt32Array:
|
|
|
- return VariantUtils.ConvertAsPackedInt32ArrayToSystemArray(p_var);
|
|
|
- case Variant.Type.PackedInt64Array:
|
|
|
- return VariantUtils.ConvertAsPackedInt64ArrayToSystemArray(p_var);
|
|
|
- case Variant.Type.PackedFloat32Array:
|
|
|
- return VariantUtils.ConvertAsPackedFloat32ArrayToSystemArray(p_var);
|
|
|
- case Variant.Type.PackedFloat64Array:
|
|
|
- return VariantUtils.ConvertAsPackedFloat64ArrayToSystemArray(p_var);
|
|
|
- case Variant.Type.PackedStringArray:
|
|
|
- return VariantUtils.ConvertAsPackedStringArrayToSystemArray(p_var);
|
|
|
- case Variant.Type.PackedVector2Array:
|
|
|
- return VariantUtils.ConvertAsPackedVector2ArrayToSystemArray(p_var);
|
|
|
- case Variant.Type.PackedVector3Array:
|
|
|
- return VariantUtils.ConvertAsPackedVector3ArrayToSystemArray(p_var);
|
|
|
- case Variant.Type.PackedColorArray:
|
|
|
- return VariantUtils.ConvertAsPackedColorArrayToSystemArray(p_var);
|
|
|
- default:
|
|
|
- return null;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
// String
|
|
|
|
|
|
public static unsafe godot_string ConvertStringToNative(string? p_mono_string)
|