Fixed creating default action map
This commit is contained in:
parent
97b8ad1af0
commit
9e658e29d2
|
@ -248,32 +248,27 @@ void OpenXRActionMapEditor::_on_interaction_profile_selected(const String p_path
|
||||||
|
|
||||||
void OpenXRActionMapEditor::_load_action_map(const String p_path, bool p_create_new_if_missing) {
|
void OpenXRActionMapEditor::_load_action_map(const String p_path, bool p_create_new_if_missing) {
|
||||||
Error err = OK;
|
Error err = OK;
|
||||||
action_map = ResourceLoader::load(p_path, "", ResourceFormatLoader::CACHE_MODE_REUSE, &err);
|
Ref<DirAccess> da = DirAccess::create(DirAccess::ACCESS_RESOURCES);
|
||||||
if (err != OK) {
|
if (da->file_exists(p_path)) {
|
||||||
if ((err == ERR_FILE_NOT_FOUND || err == ERR_CANT_OPEN) && p_create_new_if_missing) {
|
action_map = ResourceLoader::load(p_path, "", ResourceFormatLoader::CACHE_MODE_REUSE, &err);
|
||||||
action_map.instantiate();
|
if (err != OK) {
|
||||||
action_map->create_default_action_sets();
|
|
||||||
|
|
||||||
// Save it immediately
|
|
||||||
err = ResourceSaver::save(action_map, p_path);
|
|
||||||
if (err != OK) {
|
|
||||||
// Show warning but continue.
|
|
||||||
EditorNode::get_singleton()->show_warning(vformat(TTR("Error saving file %s: %s"), edited_path, error_names[err]));
|
|
||||||
} else {
|
|
||||||
// Reload so it's cached.
|
|
||||||
action_map = ResourceLoader::load(p_path, "", ResourceFormatLoader::CACHE_MODE_REUSE, &err);
|
|
||||||
if (err != OK) {
|
|
||||||
// Show warning but continue.
|
|
||||||
EditorNode::get_singleton()->show_warning(vformat(TTR("Error reloading file %s: %s"), edited_path, error_names[err]));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
EditorNode::get_singleton()->show_warning(vformat(TTR("Error loading %s: %s."), edited_path, error_names[err]));
|
EditorNode::get_singleton()->show_warning(vformat(TTR("Error loading %s: %s."), edited_path, error_names[err]));
|
||||||
|
|
||||||
edited_path = "";
|
edited_path = "";
|
||||||
header_label->set_text("");
|
header_label->set_text("");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
} else if (p_create_new_if_missing) {
|
||||||
|
action_map.instantiate();
|
||||||
|
action_map->create_default_action_sets();
|
||||||
|
action_map->set_path(p_path);
|
||||||
|
|
||||||
|
// Save it immediately
|
||||||
|
err = ResourceSaver::save(action_map, p_path);
|
||||||
|
if (err != OK) {
|
||||||
|
// Show warning but continue.
|
||||||
|
EditorNode::get_singleton()->show_warning(vformat(TTR("Error saving file %s: %s"), edited_path, error_names[err]));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
edited_path = p_path;
|
edited_path = p_path;
|
||||||
|
|
Loading…
Reference in New Issue