28 UFUNCTION(BlueprintCallable, Category=
"ArticyObjectWithText")
29 virtual FText GetText()
31 static const auto& PropName = FName(
"Text");
32 return GetStringText(Cast<UObject>(
this), PropName);
35 virtual FText GetText()
const
42 UFUNCTION(BlueprintCallable, Category=
"ArticyObjectWithText")
43 virtual FText& SetText(UPARAM(ref)
const FText& Text)
45 static const auto& PropName = FName(
"Text");
46 return GetProperty<FText>(PropName) = Text;
49 UFUNCTION(BlueprintCallable, Category =
"ArticyObjectWithText")
50 virtual USoundWave* GetVOAsset(UObject* WorldContext)
52 static const auto& PropName = FName(
"Text");
53 FText& Key = GetProperty<FText>(PropName);
54 const FText MissingEntry = FText::FromString(
"<MISSING STRING TABLE ENTRY>");
58 TOptional<FString> TableName = FTextInspector::GetNamespace(Key);
59 if (!TableName.IsSet())
61 TableName = TEXT(
"ARTICY");
65 FStringTableConstPtr TablePtr = FStringTableRegistry::Get().FindStringTable(FName(TableName.GetValue()));
66 if (!TablePtr.IsValid())
72 const FStringTable* Table = TablePtr.Get();
73 FStringTableEntryConstPtr EntryPtr = Table->FindEntry(FTextKey(Key.ToString() +
".VOAsset"));
74 if (!EntryPtr.IsValid())
79 const FStringTableEntry* TableEntry = EntryPtr.Get();
80 FText SourceString = FText::FromString(TableEntry->GetSourceString());
82 if (!SourceString.IsEmpty() && !SourceString.EqualTo(MissingEntry))
84 AssetId =
FArticyId{ ResolveText(WorldContext, &SourceString).ToString() };
88 const auto& AssetString = FText::FromString(Key.ToString() +
".VOAsset");
89 AssetId =
FArticyId{ ResolveText(WorldContext, &AssetString).ToString() };
102 return (Cast<UArticyAsset>(AssetObject))->LoadAsSoundWave();
105 virtual FText ResolveText(UObject* Outer,
const FText* SourceText)
107 return ArticyHelpers::ResolveText(Outer, SourceText);
Definition ArticyObjectWithText.h:23
UArticyObject * GetObject(FArticyId Id, int32 CloneId=0, TSubclassOf< class UArticyObject > CastTo=NULL) const
Definition ArticyDatabase.cpp:665
Definition ArticyObjectWithText.h:17