Use StringName in the whole GDExtension API instead of const char *
This commit is contained in:
parent
84262efd2a
commit
1e8756c94b
7 changed files with 139 additions and 107 deletions
|
|
@ -192,10 +192,10 @@ struct PropertyInfo {
|
|||
|
||||
explicit PropertyInfo(const GDNativePropertyInfo &pinfo) :
|
||||
type((Variant::Type)pinfo.type),
|
||||
name(pinfo.name),
|
||||
class_name(pinfo.class_name), // can be null
|
||||
name(*reinterpret_cast<StringName *>(pinfo.name)),
|
||||
class_name(*reinterpret_cast<StringName *>(pinfo.class_name)),
|
||||
hint((PropertyHint)pinfo.hint),
|
||||
hint_string(pinfo.hint_string), // can be null
|
||||
hint_string(*reinterpret_cast<String *>(pinfo.hint_string)),
|
||||
usage(pinfo.usage) {}
|
||||
|
||||
bool operator==(const PropertyInfo &p_info) const {
|
||||
|
|
@ -242,6 +242,20 @@ struct MethodInfo {
|
|||
|
||||
MethodInfo() {}
|
||||
|
||||
explicit MethodInfo(const GDNativeMethodInfo &pinfo) :
|
||||
name(*reinterpret_cast<StringName *>(pinfo.name)),
|
||||
return_val(PropertyInfo(pinfo.return_value)),
|
||||
flags(pinfo.flags),
|
||||
id(pinfo.id) {
|
||||
for (uint32_t j = 0; j < pinfo.argument_count; j++) {
|
||||
arguments.push_back(PropertyInfo(pinfo.arguments[j]));
|
||||
}
|
||||
const Variant *def_values = (const Variant *)pinfo.default_arguments;
|
||||
for (uint32_t j = 0; j < pinfo.default_argument_count; j++) {
|
||||
default_arguments.push_back(def_values[j]);
|
||||
}
|
||||
}
|
||||
|
||||
void _push_params(const PropertyInfo &p_param) {
|
||||
arguments.push_back(p_param);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue