mirror of
https://github.com/godotengine/godot.git
synced 2025-01-30 21:33:18 +08:00
Merge pull request #64428 from godotengine/gdextension-ignore-property-array
Ignore class's property array when generating extension_api.json (not…
This commit is contained in:
commit
f97f5a6146
@ -52,6 +52,9 @@ static String get_type_name(const PropertyInfo &p_info) {
|
|||||||
if (p_info.type == Variant::INT && (p_info.usage & (PROPERTY_USAGE_CLASS_IS_BITFIELD))) {
|
if (p_info.type == Variant::INT && (p_info.usage & (PROPERTY_USAGE_CLASS_IS_BITFIELD))) {
|
||||||
return String("bitfield::") + String(p_info.class_name);
|
return String("bitfield::") + String(p_info.class_name);
|
||||||
}
|
}
|
||||||
|
if (p_info.type == Variant::INT && (p_info.usage & PROPERTY_USAGE_ARRAY)) {
|
||||||
|
return "int";
|
||||||
|
}
|
||||||
if (p_info.class_name != StringName()) {
|
if (p_info.class_name != StringName()) {
|
||||||
return p_info.class_name;
|
return p_info.class_name;
|
||||||
}
|
}
|
||||||
@ -840,12 +843,16 @@ Dictionary NativeExtensionAPIDump::generate_extension_api() {
|
|||||||
List<PropertyInfo> property_list;
|
List<PropertyInfo> property_list;
|
||||||
ClassDB::get_property_list(class_name, &property_list, true);
|
ClassDB::get_property_list(class_name, &property_list, true);
|
||||||
for (const PropertyInfo &F : property_list) {
|
for (const PropertyInfo &F : property_list) {
|
||||||
if (F.usage & PROPERTY_USAGE_CATEGORY || F.usage & PROPERTY_USAGE_GROUP || F.usage & PROPERTY_USAGE_SUBGROUP) {
|
if (F.usage & PROPERTY_USAGE_CATEGORY || F.usage & PROPERTY_USAGE_GROUP || F.usage & PROPERTY_USAGE_SUBGROUP || (F.type == Variant::NIL && F.usage & PROPERTY_USAGE_ARRAY)) {
|
||||||
continue; //not real properties
|
continue; //not real properties
|
||||||
}
|
}
|
||||||
if (F.name.begins_with("_")) {
|
if (F.name.begins_with("_")) {
|
||||||
continue; //hidden property
|
continue; //hidden property
|
||||||
}
|
}
|
||||||
|
if (F.name.find("/") >= 0) {
|
||||||
|
// Ignore properties with '/' (slash) in the name. These are only meant for use in the inspector.
|
||||||
|
continue;
|
||||||
|
}
|
||||||
StringName property_name = F.name;
|
StringName property_name = F.name;
|
||||||
Dictionary d2;
|
Dictionary d2;
|
||||||
d2["type"] = get_type_name(F);
|
d2["type"] = get_type_name(F);
|
||||||
|
Loading…
Reference in New Issue
Block a user