mirror of
https://github.com/godotengine/godot.git
synced 2026-01-06 10:11:57 +03:00
Expose enum related methods in ClassDB
This commit is contained in:
@@ -2042,6 +2042,42 @@ StringName ClassDB::get_category(const StringName &p_node) const {
|
||||
return ::ClassDB::get_category(p_node);
|
||||
}
|
||||
|
||||
bool ClassDB::has_enum(const StringName &p_class, const StringName &p_name, bool p_no_inheritance) const {
|
||||
return ::ClassDB::has_enum(p_class, p_name, p_no_inheritance);
|
||||
}
|
||||
|
||||
PackedStringArray ClassDB::get_enum_list(const StringName &p_class, bool p_no_inheritance) const {
|
||||
List<StringName> enums;
|
||||
::ClassDB::get_enum_list(p_class, &enums, p_no_inheritance);
|
||||
|
||||
PackedStringArray ret;
|
||||
ret.resize(enums.size());
|
||||
int idx = 0;
|
||||
for (const StringName &E : enums) {
|
||||
ret.set(idx++, E);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
PackedStringArray ClassDB::get_enum_constants(const StringName &p_class, const StringName &p_enum, bool p_no_inheritance) const {
|
||||
List<StringName> constants;
|
||||
::ClassDB::get_enum_constants(p_class, p_enum, &constants, p_no_inheritance);
|
||||
|
||||
PackedStringArray ret;
|
||||
ret.resize(constants.size());
|
||||
int idx = 0;
|
||||
for (const StringName &E : constants) {
|
||||
ret.set(idx++, E);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
StringName ClassDB::get_integer_constant_enum(const StringName &p_class, const StringName &p_name, bool p_no_inheritance) const {
|
||||
return ::ClassDB::get_integer_constant_enum(p_class, p_name, p_no_inheritance);
|
||||
}
|
||||
|
||||
bool ClassDB::is_class_enabled(StringName p_class) const {
|
||||
return ::ClassDB::is_class_enabled(p_class);
|
||||
}
|
||||
@@ -2072,6 +2108,11 @@ void ClassDB::_bind_methods() {
|
||||
::ClassDB::bind_method(D_METHOD("class_has_integer_constant", "class", "name"), &ClassDB::has_integer_constant);
|
||||
::ClassDB::bind_method(D_METHOD("class_get_integer_constant", "class", "name"), &ClassDB::get_integer_constant);
|
||||
|
||||
::ClassDB::bind_method(D_METHOD("class_has_enum", "class", "name", "no_inheritance"), &ClassDB::has_enum, DEFVAL(false));
|
||||
::ClassDB::bind_method(D_METHOD("class_get_enum_list", "class", "no_inheritance"), &ClassDB::get_enum_list, DEFVAL(false));
|
||||
::ClassDB::bind_method(D_METHOD("class_get_enum_constants", "class", "enum", "no_inheritance"), &ClassDB::get_enum_constants, DEFVAL(false));
|
||||
::ClassDB::bind_method(D_METHOD("class_get_integer_constant_enum", "class", "name", "no_inheritance"), &ClassDB::get_integer_constant_enum, DEFVAL(false));
|
||||
|
||||
::ClassDB::bind_method(D_METHOD("class_get_category", "class"), &ClassDB::get_category);
|
||||
::ClassDB::bind_method(D_METHOD("is_class_enabled", "class"), &ClassDB::is_class_enabled);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user