当前位置: 首页>>代码示例>>C++>>正文


C++ UPackage::GetPathName方法代码示例

本文整理汇总了C++中UPackage::GetPathName方法的典型用法代码示例。如果您正苦于以下问题:C++ UPackage::GetPathName方法的具体用法?C++ UPackage::GetPathName怎么用?C++ UPackage::GetPathName使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在UPackage的用法示例。


在下文中一共展示了UPackage::GetPathName方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: CreateFlipBook

UPaperFlipbook* UHGGifFactory::CreateFlipBook(const TArray<UPaperSprite*>& AllSprites, FName BaseName)
{
	if (AllSprites.Num() == 0)
		return nullptr;

	const FString& FlipbookName = BaseName.ToString();
	TArray<UPaperSprite*> Sprites = AllSprites;	// Not Reference, for Save Pacakge

	UPackage* OuterPackage = Sprites[0]->GetOutermost();
	const FString SpritePathName = OuterPackage->GetPathName();
	const FString LongPackagePath = FPackageName::GetLongPackagePath(OuterPackage->GetPathName());

	UPaperFlipbookFactory* FlipbookFactory = NewObject<UPaperFlipbookFactory>();
	for (UPaperSprite* Sprite : Sprites)
	{
		if (Sprite != nullptr)
		{
			FPaperFlipbookKeyFrame* KeyFrame = new (FlipbookFactory->KeyFrames) FPaperFlipbookKeyFrame();
			KeyFrame->Sprite = Sprite;
			KeyFrame->FrameRun = 1;
		}
	}

	const FString NewFlipBookDefaultPath = LongPackagePath + TEXT("/") + FlipbookName;
	FString DefaultSuffix;
	FString AssetName;
	FString PackageName;

	FAssetToolsModule& AssetToolsModule = FModuleManager::Get().LoadModuleChecked<FAssetToolsModule>("AssetTools");
	AssetToolsModule.Get().CreateUniqueAssetName(NewFlipBookDefaultPath, DefaultSuffix, /*out*/ PackageName, /*out*/ AssetName);

	const FString PackagePath = FPackageName::GetLongPackagePath(PackageName);

	TArray<UObject*> ObjectsToSync;
	UPaperFlipbook* NewFlipBook = nullptr;
	NewFlipBook = Cast<UPaperFlipbook>(AssetToolsModule.Get().CreateAsset(AssetName, PackagePath, UPaperFlipbook::StaticClass(), FlipbookFactory));
	if (NewFlipBook)
	{
		ObjectsToSync.Add(NewFlipBook);

		FContentBrowserModule& ContentBrowserModule = FModuleManager::LoadModuleChecked<FContentBrowserModule>("ContentBrowser");
		ContentBrowserModule.Get().SyncBrowserToAssets(ObjectsToSync);
	}

	return NewFlipBook;
}
开发者ID:SeongHoJu,项目名称:HGGifImporter,代码行数:46,代码来源:HGGifFactory.cpp

示例2: CreateOrRetrieveLevelHLODPackage

UPackage* FHierarchicalLODUtilities::CreateOrRetrieveLevelHLODPackage(ULevel* InLevel)
{
	checkf(InLevel != nullptr, TEXT("Invalid Level supplied"));

	UPackage* HLODPackage = nullptr;
	UPackage* LevelOuterMost = InLevel->GetOutermost();

	const FString PathName = FPackageName::GetLongPackagePath(LevelOuterMost->GetPathName());
	const FString BaseName = FPackageName::GetShortName(LevelOuterMost->GetPathName());
	const FString HLODLevelPackageName = FString::Printf(TEXT("%s/HLOD/%s_HLOD"), *PathName, *BaseName);

	HLODPackage = CreatePackage(NULL, *HLODLevelPackageName);
	HLODPackage->FullyLoad();
	HLODPackage->Modify();
	
	// Target level filename
	const FString HLODLevelFileName = FPackageName::LongPackageNameToFilename(HLODLevelPackageName);
	// This is a hack to avoid save file dialog when we will be saving HLOD map package
	HLODPackage->FileName = FName(*HLODLevelFileName);

	return HLODPackage;	
}
开发者ID:JustDo1989,项目名称:UnrealEngine4.11-HairWorks,代码行数:22,代码来源:HierarchicalLODUtilities.cpp


注:本文中的UPackage::GetPathName方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。