void FFeaturePackContentSource::HandleSuperSearchTextChanged(const FString& InText, TArray< TSharedPtr<FSearchEntry> >& OutSuggestions) { FString FeaturePackSearchCat = LOCTEXT("FeaturePackSearchCategory", "Feature Packs").ToString(); FString CurrentLanguage = FInternationalization::Get().GetCurrentCulture()->GetTwoLetterISOLanguageName(); FLocalizedText CurrentName = ChooseLocalizedText(LocalizedNames,CurrentLanguage); FLocalizedTextArray CurrentTagSet = ChooseLocalizedTextArray(LocalizedSearchTags,CurrentLanguage); FText AsText = FText::FromString(InText); TArray<FText> TagArray = CurrentTagSet.GetTags(); if (TagArray.Num() != 0) { UEnum* Enum = FindObjectChecked<UEnum>(ANY_PACKAGE, TEXT("EContentSourceCategory")); // Add a feature packs category for (int32 iTag = 0; iTag < TagArray.Num(); iTag++) { if (TagArray[iTag].EqualToCaseIgnored(AsText)) { // This will add the category if one doesnt exist TryAddFeaturePackCategory(FeaturePackSearchCat,OutSuggestions); TSharedPtr<FSearchEntry> FeaturePackEntry = MakeShareable(new FSearchEntry()); FeaturePackEntry->Title = FText::Format( LOCTEXT("FeaturePackSearchResult", "{0} ({1})"), CurrentName.GetText(), Enum->GetDisplayNameText((int32)Category)).ToString(); FeaturePackEntry->bCategory = false; OutSuggestions.Add(FeaturePackEntry); return; } } } }
FText FContentSourceViewModel::GetDescription() { FString CurrentLanguage = FInternationalization::Get().GetCurrentCulture()->GetTwoLetterISOLanguageName(); if (DescriptionText.GetTwoLetterLanguage() != CurrentLanguage) { DescriptionText = ChooseLocalizedText(ContentSource->GetLocalizedDescriptions(), CurrentLanguage); } return DescriptionText.GetText(); }
FText FContentSourceViewModel::GetAssetTypes() { FString CurrentLanguage = FInternationalization::Get().GetCurrentCulture()->GetTwoLetterISOLanguageName(); if (AssetTypeText.GetTwoLetterLanguage() != CurrentLanguage) { AssetTypeText = ChooseLocalizedText(ContentSource->GetLocalizedAssetTypes(), CurrentLanguage); } return AssetTypeText.GetText(); }
void FFeaturePackContentSource::HandleActOnSearchText(TSharedPtr<FSearchEntry> SearchEntry) { if (SearchEntry.IsValid()) { if (SearchEntry->bCategory == false) { UEnum* Enum = FindObjectChecked<UEnum>(ANY_PACKAGE, TEXT("EContentSourceCategory")); FString CurrentLanguage = FInternationalization::Get().GetCurrentCulture()->GetTwoLetterISOLanguageName(); FLocalizedText CurrentName = ChooseLocalizedText(LocalizedNames,CurrentLanguage); FString MyTitle = FText::Format( LOCTEXT("FeaturePackSearchResult", "{0} ({1})"), CurrentName.GetText(), Enum->GetDisplayNameText((int32)Category)).ToString(); if (SearchEntry->Title == MyTitle) { IMainFrameModule& MainFrameModule = FModuleManager::LoadModuleChecked<IMainFrameModule>(TEXT("MainFrame")); IAddContentDialogModule& AddContentDialogModule = FModuleManager::LoadModuleChecked<IAddContentDialogModule>("AddContentDialog"); AddContentDialogModule.ShowDialog(MainFrameModule.GetParentWindow().ToSharedRef()); } } } }