コード例 #1
0
ファイル: AutoReimportManager.cpp プロジェクト: johndpope/UE4
TOptional<ECurrentState> FAutoReimportManager::ProcessDeletions()
{
	TGuardValue<bool> ScopedAssetChangesGuard(bGuardAssetChanges, true);

	const IAssetRegistry& Registry = FModuleManager::LoadModuleChecked<FAssetRegistryModule>("AssetRegistry").Get();

	FeedbackContextOverride->GetContent()->SetMainText(GetProgressText());

	TArray<FAssetData> AssetsToDelete;

	for (auto& Monitor : DirectoryMonitors)
	{
		Monitor.ExtractAssetsToDelete(Registry, AssetsToDelete);
	}

	if (AssetsToDelete.Num() > 0)
	{
		for (const auto& AssetData : AssetsToDelete)
		{
			FeedbackContextOverride->AddMessage(EMessageSeverity::Info, FText::Format(LOCTEXT("Success_DeletedAsset", "Attempting to delete {0} (its source file has been removed)."), FText::FromName(AssetData.AssetName)));
		}

		ObjectTools::DeleteAssets(AssetsToDelete);
	}

	return ECurrentState::SavePackages;
}