本文整理汇总了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;
}
示例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;
}