Use Array for node configuration warnings
Previously, the warnings were passed as a string and delimitation of which were hard coded at each implementation.
This commit is contained in:
@@ -2634,15 +2634,27 @@ void Node::clear_internal_tree_resource_paths() {
|
||||
}
|
||||
}
|
||||
|
||||
String Node::get_configuration_warning() const {
|
||||
TypedArray<String> Node::get_configuration_warnings() const {
|
||||
if (get_script_instance() && get_script_instance()->get_script().is_valid() &&
|
||||
get_script_instance()->get_script()->is_tool() && get_script_instance()->has_method("_get_configuration_warning")) {
|
||||
return get_script_instance()->call("_get_configuration_warning");
|
||||
get_script_instance()->get_script()->is_tool() && get_script_instance()->has_method("_get_configuration_warnings")) {
|
||||
return get_script_instance()->call("_get_configuration_warnings");
|
||||
}
|
||||
return String();
|
||||
return Array();
|
||||
}
|
||||
|
||||
void Node::update_configuration_warning() {
|
||||
String Node::get_configuration_warnings_as_string() const {
|
||||
TypedArray<String> warnings = get_configuration_warnings();
|
||||
String all_warnings = String();
|
||||
for (int i = 0; i < warnings.size(); i++) {
|
||||
if (i > 0) {
|
||||
all_warnings += "\n\n";
|
||||
}
|
||||
all_warnings += String(warnings[i]);
|
||||
}
|
||||
return all_warnings;
|
||||
}
|
||||
|
||||
void Node::update_configuration_warnings() {
|
||||
#ifdef TOOLS_ENABLED
|
||||
if (!is_inside_tree()) {
|
||||
return;
|
||||
@@ -2798,7 +2810,7 @@ void Node::_bind_methods() {
|
||||
ClassDB::bind_method(D_METHOD("rset_unreliable", "property", "value"), &Node::rset_unreliable);
|
||||
ClassDB::bind_method(D_METHOD("rset_unreliable_id", "peer_id", "property", "value"), &Node::rset_unreliable_id);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("update_configuration_warning"), &Node::update_configuration_warning);
|
||||
ClassDB::bind_method(D_METHOD("update_configuration_warnings"), &Node::update_configuration_warnings);
|
||||
|
||||
BIND_CONSTANT(NOTIFICATION_ENTER_TREE);
|
||||
BIND_CONSTANT(NOTIFICATION_EXIT_TREE);
|
||||
@@ -2874,7 +2886,7 @@ void Node::_bind_methods() {
|
||||
BIND_VMETHOD(MethodInfo("_input", PropertyInfo(Variant::OBJECT, "event", PROPERTY_HINT_RESOURCE_TYPE, "InputEvent")));
|
||||
BIND_VMETHOD(MethodInfo("_unhandled_input", PropertyInfo(Variant::OBJECT, "event", PROPERTY_HINT_RESOURCE_TYPE, "InputEvent")));
|
||||
BIND_VMETHOD(MethodInfo("_unhandled_key_input", PropertyInfo(Variant::OBJECT, "event", PROPERTY_HINT_RESOURCE_TYPE, "InputEventKey")));
|
||||
BIND_VMETHOD(MethodInfo(Variant::STRING, "_get_configuration_warning"));
|
||||
BIND_VMETHOD(MethodInfo(PropertyInfo(Variant::ARRAY, "", PROPERTY_HINT_ARRAY_TYPE, "String"), "_get_configuration_warnings"));
|
||||
}
|
||||
|
||||
String Node::_get_name_num_separator() {
|
||||
|
||||
Reference in New Issue
Block a user