feat: asset deletion scan and delete dialog (WIP)
Adds AssetDeletionScan to Core (no UI/editor-pipeline deps, invariant holds) and SAssetDeleteDialog to the Editor module, plus 10 spec cases. Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
@@ -278,6 +278,31 @@ private:
|
||||
FReply OnExportFilesClicked();
|
||||
bool HasCheckedAssets() const;
|
||||
|
||||
// --- Deleting ----------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Delete the ticked assets, after two confirmations.
|
||||
*
|
||||
* Sits beside Export because it acts on the same ticked set, and is the reason the audit is
|
||||
* worth running: the point of finding unused content is to be able to remove it. It is kept
|
||||
* visually apart and never becomes the default action.
|
||||
*
|
||||
* Levels are refused outright - see AssetDeletionScan::ERefusal::IsLevel. Everything else the
|
||||
* window explains before anything is touched, and the destruction itself is ObjectTools' code,
|
||||
* not ours.
|
||||
*/
|
||||
FReply OnDeleteClicked();
|
||||
|
||||
/**
|
||||
* Drop deleted packages from the result without re-running the sweep.
|
||||
*
|
||||
* A full re-run after a delete would cost minutes on this project, and the rows that remain are
|
||||
* still correct - what changed is that some assets are gone, plus the referencer counts of
|
||||
* whatever pointed at them. The result is marked stale so the numbers are not mistaken for a
|
||||
* fresh sweep.
|
||||
*/
|
||||
void ForgetDeletedPackages(const TArray<FName>& DeletedPackages);
|
||||
|
||||
/** Byte copy of the package files, expanding levels to their OFPA packages. */
|
||||
void RunCopyExport(const TArray<FAssetUsageRow>& Rows, const FAssetExportRequest& Request);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user