diff options
author | DualMatrix <piet.goris@gmail.com> | 2018-09-26 00:20:06 +0200 |
---|---|---|
committer | DualMatrix <piet.goris@gmail.com> | 2018-10-03 14:31:54 +0200 |
commit | 19b6e601d8e0376abad48ed44357e5b801db0cb2 (patch) | |
tree | 1854320d3321787c651154bd7b825aefa0911e39 | |
parent | c432ce4ee15fc396b2bccbbe2661b5bd34b9bee1 (diff) |
Added warning when trying to load resource of wrong type in editor.
Added warning when trying to load resource of wrong type in editor.
-rw-r--r-- | editor/editor_properties.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/editor/editor_properties.cpp b/editor/editor_properties.cpp index 3439133809..0975cf10f8 100644 --- a/editor/editor_properties.cpp +++ b/editor/editor_properties.cpp @@ -1899,6 +1899,20 @@ EditorPropertyNodePath::EditorPropertyNodePath() { void EditorPropertyResource::_file_selected(const String &p_path) { RES res = ResourceLoader::load(p_path); + + List<PropertyInfo> prop_list; + get_edited_object()->get_property_list(&prop_list); + String type; + + for (List<PropertyInfo>::Element *E = prop_list.front(); E; E = E->next()) { + if (E->get().name == get_edited_property() && (E->get().hint & PROPERTY_HINT_RESOURCE_TYPE)) { + type = E->get().hint_string; + } + } + + if (!type.empty() && !res->is_class(type)) + EditorNode::get_singleton()->show_warning(vformat(TTR("The selected resource (%s) does not match the type expected for this property (%s)."), res->get_class(), type)); + emit_signal("property_changed", get_edited_property(), res); update_property(); } |