From 03b05cf9acd69b7eeced919012c215b22cd901ab Mon Sep 17 00:00:00 2001 From: Danil Alexeev <dalexeev12@yandex.ru> Date: Fri, 22 Nov 2024 14:03:21 +0300 Subject: Core: Fix built-in enum constant bindings --- editor/doc_tools.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'editor') diff --git a/editor/doc_tools.cpp b/editor/doc_tools.cpp index 79e0c7ebd1..842c4acce0 100644 --- a/editor/doc_tools.cpp +++ b/editor/doc_tools.cpp @@ -908,6 +908,23 @@ void DocTools::generate(BitField<GenerateFlags> p_flags) { c.properties.sort(); + List<StringName> enums; + Variant::get_enums_for_type(Variant::Type(i), &enums); + + for (const StringName &E : enums) { + List<StringName> enumerations; + Variant::get_enumerations_for_enum(Variant::Type(i), E, &enumerations); + + for (const StringName &F : enumerations) { + DocData::ConstantDoc constant; + constant.name = F; + constant.value = itos(Variant::get_enum_value(Variant::Type(i), E, F)); + constant.is_value_valid = true; + constant.enumeration = E; + c.constants.push_back(constant); + } + } + List<StringName> constants; Variant::get_constants_for_type(Variant::Type(i), &constants); -- cgit v1.2.3