FPrimaryAssetId AAFCueActor::GetPrimaryAssetId() const { FName dupa1 = FPackageName::GetShortFName(GetOutermost()->GetFName()); const AAFCueActor* A = this; return FPrimaryAssetId(FPrimaryAssetType("ActorCue"), dupa1); //if (HasAnyFlags(RF_ClassDefaultObject)) { UClass* SearchNativeClass = GetClass(); while (SearchNativeClass && !SearchNativeClass->HasAnyClassFlags(CLASS_Native | CLASS_Intrinsic)) { SearchNativeClass = SearchNativeClass->GetSuperClass(); } if (SearchNativeClass && SearchNativeClass != GetClass()) { // If blueprint, return native class and asset name } // Native CDO, return nothing return FPrimaryAssetId(); } // Data assets use Class and ShortName by default, there's no inheritance so class works fine //return FPrimaryAssetId(GetClass()->GetFName(), GetFName()); }
FString FPrimaryAssetIdCustomization::OnGetObjectPath() const { FString StringReference; if (StructPropertyHandle.IsValid()) { StructPropertyHandle->GetValueAsFormattedString(StringReference); } else { StringReference = FPrimaryAssetId().ToString(); } UAssetManager& Manager = UAssetManager::Get(); FSoftObjectPath FoundPath = Manager.GetPrimaryAssetPath(FPrimaryAssetId(StringReference)); return FoundPath.ToString(); }
TSharedRef<SWidget> SPrimaryAssetIdGraphPin::GetDefaultValueWidget() { FString DefaultString = GraphPinObj->GetDefaultAsString(); CurrentId = FPrimaryAssetId(DefaultString); return SNew(SVerticalBox) .Visibility(this, &SGraphPin::GetDefaultValueVisibility) + SVerticalBox::Slot() .AutoHeight() [ IAssetManagerEditorModule::MakePrimaryAssetIdSelector( FOnGetPrimaryAssetDisplayText::CreateSP(this, &SPrimaryAssetIdGraphPin::GetDisplayText), FOnSetPrimaryAssetId::CreateSP(this, &SPrimaryAssetIdGraphPin::OnIdSelected), true) ]; }