|
@@ -1454,6 +1454,16 @@ void EditorNode::save_resource_as(const Ref<Resource> &p_resource, const String
|
|
|
file->popup_file_dialog();
|
|
|
}
|
|
|
|
|
|
+void EditorNode::ensure_uid_file(const String &p_new_resource_path) {
|
|
|
+ if (ResourceLoader::exists(p_new_resource_path) && !ResourceLoader::has_custom_uid_support(p_new_resource_path) && !FileAccess::exists(p_new_resource_path + ".uid")) {
|
|
|
+ Ref<FileAccess> f = FileAccess::open(p_new_resource_path + ".uid", FileAccess::WRITE);
|
|
|
+ if (f.is_valid()) {
|
|
|
+ const ResourceUID::ID id = ResourceUID::get_singleton()->create_id();
|
|
|
+ f->store_line(ResourceUID::get_singleton()->id_to_text(id));
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
void EditorNode::_menu_option(int p_option) {
|
|
|
_menu_option_confirm(p_option, false);
|
|
|
}
|
|
@@ -2173,6 +2183,12 @@ void EditorNode::_dialog_action(String p_file) {
|
|
|
case RESOURCE_SAVE_AS: {
|
|
|
ERR_FAIL_COND(saving_resource.is_null());
|
|
|
save_resource_in_path(saving_resource, p_file);
|
|
|
+
|
|
|
+ if (current_menu_option == RESOURCE_SAVE_AS) {
|
|
|
+ // Create .uid file when making new Resource.
|
|
|
+ ensure_uid_file(p_file);
|
|
|
+ }
|
|
|
+
|
|
|
saving_resource = Ref<Resource>();
|
|
|
ObjectID current_id = editor_history.get_current();
|
|
|
Object *current_obj = current_id.is_valid() ? ObjectDB::get_instance(current_id) : nullptr;
|