コード例 #1
0
bool FChunkManifestGenerator::GatherAllPackageDependencies(FName PackageName, TArray<FName>& DependentPackageNames)
{

	if (GetPackageDependencies(PackageName, DependentPackageNames) == false)
	{
		return false;
	}

	int32 DependencyCounter = 0;
	while (DependencyCounter < DependentPackageNames.Num())
	{
		const FName& ChildPackageName = DependentPackageNames[DependencyCounter];
		++DependencyCounter;
		TArray<FName> ChildDependentPackageNames;
		if (GetPackageDependencies(ChildPackageName, ChildDependentPackageNames) == false)
		{
			return false;
		}

		for (const auto& ChildDependentPackageName : ChildDependentPackageNames)
		{
			DependentPackageNames.AddUnique(ChildDependentPackageName);
		}
	}

	return true;
}
コード例 #2
0
bool FChunkManifestGenerator::GatherAllPackageDependencies(FName PackageName, TArray<FName>& DependentPackageNames)
{
	TArray<FName> LocalDependentPackages;
	if (!GetPackageDependencies(PackageName, LocalDependentPackages))
	{
		return false;
	}

	DependentPackageNames.Append(LocalDependentPackages);
	for (const auto& DependentPackage : LocalDependentPackages)
	{
		if (!GetPackageDependencies(DependentPackage, DependentPackageNames))
		{
			return false;
		}
	}

	return true;
}