From 2360bbd03efd73b228ea63e9a8816f9e9979fa77 Mon Sep 17 00:00:00 2001 From: David Snopek Date: Tue, 21 Apr 2026 17:13:01 -0500 Subject: [PATCH] Implement `Variant::get_type_by_name()` --- include/godot_cpp/variant/variant.hpp | 3 +++ src/variant/variant.cpp | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/include/godot_cpp/variant/variant.hpp b/include/godot_cpp/variant/variant.hpp index c829f84de..bfabea2f6 100644 --- a/include/godot_cpp/variant/variant.hpp +++ b/include/godot_cpp/variant/variant.hpp @@ -332,6 +332,9 @@ class Variant { Variant duplicate(bool deep = false) const; static String get_type_name(Variant::Type type); +#if GODOT_VERSION_MINOR >= 7 + static Variant::Type get_type_by_name(const String &p_name); +#endif static bool can_convert(Variant::Type from, Variant::Type to); static bool can_convert_strict(Variant::Type from, Variant::Type to); diff --git a/src/variant/variant.cpp b/src/variant/variant.cpp index 04e8a6328..088d800d8 100644 --- a/src/variant/variant.cpp +++ b/src/variant/variant.cpp @@ -755,6 +755,12 @@ String Variant::get_type_name(Variant::Type type) { return result; } +#if GODOT_VERSION_MINOR >= 7 +Variant::Type Variant::get_type_by_name(const String &p_name) { + return static_cast(::godot::gdextension_interface::variant_get_type_by_name(p_name._native_ptr())); +} +#endif + bool Variant::can_convert(Variant::Type from, Variant::Type to) { GDExtensionBool can = ::godot::gdextension_interface::variant_can_convert(static_cast(from), static_cast(to)); return PtrToArg::convert(&can);