1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-11 13:10:58 +00:00

Add core types enums description to extension api json

This commit is contained in:
Pierre-Thomas Meisels
2022-04-18 20:17:03 +02:00
parent 462127eff0
commit c28936ba6d
3 changed files with 118 additions and 0 deletions

View File

@@ -473,6 +473,38 @@ Dictionary NativeExtensionAPIDump::generate_extension_api() {
d["constants"] = constants;
}
}
{
//enums
Array enums;
List<StringName> enum_names;
Variant::get_enums_for_type(type, &enum_names);
for (const StringName &enum_name : enum_names) {
Dictionary enum_dict;
enum_dict["name"] = String(enum_name);
List<StringName> enumeration_names;
Variant::get_enumerations_for_enum(type, enum_name, &enumeration_names);
Array values;
for (const StringName &enumeration : enumeration_names) {
Dictionary values_dict;
values_dict["name"] = String(enumeration);
values_dict["value"] = Variant::get_enum_value(type, enum_name, enumeration);
values.push_back(values_dict);
}
if (values.size()) {
enum_dict["values"] = values;
}
enums.push_back(enum_dict);
}
if (enums.size()) {
d["enums"] = enums;
}
}
{
//operators
Array operators;