StoneのBLOG

生活这种事情,从来都是自我陶醉

0%

UE5中的StringTable

今后使用UE5的版本进行验证,所以UE4的内容验证或许会有些怠慢。这次主要是介绍StringTable的相关用法。

Overview

针对本地化功能提供的文本数据表。

StringTable

实用Code

StringTable资源引用

UE中提供了UStringTable这样的资源允许我们在Editor中持有该资源的引用。

1
2
UPROPERTY(EditDefaultsOnly)
UStringTable* SampleStringTable;

StringTable中是否存在键值

方便使用的函数:

1
2
3
4
5
6
7
8
9
10
11
12
13
bool UStringTableHelperTool::HasKey(UStringTable* InStringTable, const FString& InKey)
{
if(IsValid(InStringTable))
{
FString OutKey;
if(InStringTable->GetMutableStringTable()->GetSourceString(InKey, OutKey))
{
return true;
}
}

return false;
}

StringTable中的读写

向StringTable中写入数据

1
2
3
4
5
6
7
8
9
10
11
12
void UStringTableHelperTool::UpdateStringTable(UStringTable* InStringTable, const FSting& InKey, const FString& InValue)
{
if(!HasKey(InStringTable, InKey))
{
InStringTable->Modify();
InStringTable->GetMutableStringTable()->SetSourceString(InKey, InValue);
}
else
{
// TODO: 如果存在相同的键值,则覆盖值
}
}