Skip to content

Commit 3fb8abc

Browse files
author
Roberto De Ioris
committed
improved asset deletion
1 parent 6fbb5a1 commit 3fb8abc

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

Source/UnrealEnginePython/Private/UEPyEditor.cpp

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -493,21 +493,30 @@ PyObject *py_unreal_engine_duplicate_asset(PyObject * self, PyObject * args) {
493493

494494
PyObject *py_unreal_engine_delete_asset(PyObject * self, PyObject * args) {
495495
char *path;
496-
if (!PyArg_ParseTuple(args, "s:delete_asset", &path)) {
496+
PyObject *py_show_confirmation = nullptr;
497+
if (!PyArg_ParseTuple(args, "s|O:delete_asset", &path, &py_show_confirmation)) {
497498
return NULL;
498499
}
499500

500501
if (!GEditor)
501502
return PyErr_Format(PyExc_Exception, "no GEditor found");
502503

504+
bool show_confirmation = false;
505+
if (py_show_confirmation && PyObject_IsTrue(py_show_confirmation)) {
506+
show_confirmation = true;
507+
}
508+
503509
FAssetRegistryModule& AssetRegistryModule = FModuleManager::GetModuleChecked<FAssetRegistryModule>("AssetRegistry");
504510
FAssetData asset = AssetRegistryModule.Get().GetAssetByObjectPath(UTF8_TO_TCHAR(path));
505511
if (!asset.IsValid())
506512
return PyErr_Format(PyExc_Exception, "unable to find asset %s", path);
507513

508514
UObject *u_object = asset.GetAsset();
509515

510-
if (!ObjectTools::DeleteSingleObject(u_object)) {
516+
TArray<UObject *> objects;
517+
objects.Add(u_object);
518+
519+
if (ObjectTools::ForceDeleteObjects(objects, show_confirmation) < 1) {
511520
return PyErr_Format(PyExc_Exception, "unable to delete asset %s", path);
512521
}
513522

0 commit comments

Comments
 (0)