|
@@ -574,13 +574,29 @@ void EditorNode::_editor_select_prev() {
|
|
|
_editor_select(editor);
|
|
|
}
|
|
|
|
|
|
-Error EditorNode::load_resource(const String &p_scene) {
|
|
|
+Error EditorNode::load_resource(const String &p_resource, bool p_ignore_broken_deps) {
|
|
|
|
|
|
- RES res = ResourceLoader::load(p_scene);
|
|
|
+ dependency_errors.clear();
|
|
|
+
|
|
|
+ Error err;
|
|
|
+ RES res = ResourceLoader::load(p_resource, "", false, &err);
|
|
|
ERR_FAIL_COND_V(!res.is_valid(), ERR_CANT_OPEN);
|
|
|
|
|
|
- inspector_dock->edit_resource(res);
|
|
|
+ if (!p_ignore_broken_deps && dependency_errors.has(p_resource)) {
|
|
|
|
|
|
+ //current_option = -1;
|
|
|
+ Vector<String> errors;
|
|
|
+ for (Set<String>::Element *E = dependency_errors[p_resource].front(); E; E = E->next()) {
|
|
|
+
|
|
|
+ errors.push_back(E->get());
|
|
|
+ }
|
|
|
+ dependency_error->show(DependencyErrorDialog::MODE_RESOURCE, p_resource, errors);
|
|
|
+ dependency_errors.erase(p_resource);
|
|
|
+
|
|
|
+ return ERR_FILE_MISSING_DEPENDENCIES;
|
|
|
+ }
|
|
|
+
|
|
|
+ inspector_dock->edit_resource(res);
|
|
|
return OK;
|
|
|
}
|
|
|
|
|
@@ -2845,7 +2861,7 @@ Error EditorNode::load_scene(const String &p_scene, bool p_ignore_broken_deps, b
|
|
|
|
|
|
errors.push_back(E->get());
|
|
|
}
|
|
|
- dependency_error->show(lpath, errors);
|
|
|
+ dependency_error->show(DependencyErrorDialog::MODE_SCENE, lpath, errors);
|
|
|
opening_prev = false;
|
|
|
|
|
|
if (prev != -1) {
|