文章目录
- 虚幻C++ UKismetTextLibrary 函数库解析
- 数据类型转换
- 数据类型转换(特殊)
- 其它Text函数
- Text Is Empty (如果文本为空,则返回 true)
- Text Is Transient (如果文本是瞬态的,则返回 true)
- Text Is Culture Invariant (如果文本是文化不变的,则返回 true)
- Text To Lower | Text To Upper (以文化正确的方式将文本转换为大小写)
- Text Trim Preceding | Text Trim Trailing | Text Trim Preceding And Trailing (删除文本前面或尾部的空白字符)
- Get Empty Text (返回一段空文本)
- Find Text In Localization Table (尝试使用在指定命名空间和键的 loc 表中找到的表示来查找现有 Text。)
- Equal | Not Equal (字面用法)
- Format (文本格式化)
- 数值格式转换
- 关于货币
- 关于时间
- 多语言
虚幻C++ UKismetTextLibrary 函数库解析
数据类型转换
- 虚幻宏标记解析:
- BlueprintPure 此类函数为纯函数
该函数不会以任何方式影响拥有的对象,并且可以在蓝图或关卡蓝图图中执行。
- meta= 元数据标签:
- (DisplayName=“”) 设置蓝图中显示的节点名称。
- (CompactNodeTitle = “->”) 设置成紧凑标题节点。
- (BlueprintAutocast) 在蓝图函数中的静态函数标记为BlueprintPure的前提下使用,将自动为函数的返回类型和第一个参数的类型添加一个强制转换节点。
- Category=“Utilities|String” 在蓝图中使用右键Search时会分类在Utilities的String下,|表示层级划分。
- BlueprintPure 此类函数为纯函数
UFUNCTION(BlueprintPure, meta=(DisplayName = "", CompactNodeTitle = "->", BlueprintAutocast), Category="Utilities|String")
- 目前提供以下虚幻基础类型转换:
original | note |
---|---|
static FText Conv_VectorToText(FVector InVec); | Vector To Text |
static FText Conv_Vector2dToText(FVector2D InVec); | Vector2d To Text |
static FText Conv_RotatorToText(FRotator InRot); | Rotator To Text |
static FText Conv_TransformToText(const FTransform& InTrans); | Transform To Text |
static FText Conv_ObjectToText(class UObject* InObj); | Object To Text |
static FText Conv_ColorToText(FLinearColor InColor); | Color To Text |
static FString Conv_TextToString(const FText& InText); | Text To String |
static FText Conv_StringToText(const FString& InString); | String To Text |
static FText Conv_NameToText(FName InName); | Name To Text |
static FText Conv_BoolToText(bool InBool); | Name To Text |
static FText Conv_ByteToText(uint8 Value); | Name To Text |
数据类型转换(特殊)
======================================================================================================
To Text (Integer) | To Text (Integer64) (根据格式选项将传入转换为文本)
- 参数:
- Value - 待转换的值。
- bAlwaysSign - 是否始终签名?
- bUseGrouping - 是否使用分组。
- MinimumIntegralDigits - 最小整数位数。
- MaximumIntegralDigits - 最大整数位数。
UFUNCTION(BlueprintPure, meta=(DisplayName = "To Text (Integer)", AdvancedDisplay = "1", BlueprintAutocast), Category="Utilities|Text")
static FText Conv_IntToText(int32 Value, bool bAlwaysSign = false, bool bUseGrouping = true, int32 MinimumIntegralDigits = 1, int32 MaximumIntegralDigits = 324);
UFUNCTION(BlueprintPure, meta = (DisplayName = "To Text (Integer64)", AdvancedDisplay = "1", BlueprintAutocast), Category = "Utilities|Text")
static FText Conv_Int64ToText(int64 Value, bool bAlwaysSign = false, bool bUseGrouping = true, int32 MinimumIntegralDigits = 1, int32 MaximumIntegralDigits = 324);
To Text (Double) | To Text (Float) (根据格式选项将传入转换为文本)
- 参数:
- InDouble - 待转换的值。
- Value - 待转换的值。
- RoundingMode - 舍入模式。
- bAlwaysSign - 是否始终签名?
- bUseGrouping - 是否使用分组。
- MinimumIntegralDigits - 最小整数位数。
- MaximumIntegralDigits - 最大整数位数。
- MinimumFractionalDigits - 最小分数位数。
- MaximumFractionalDigits - 最大分数位数。
UFUNCTION(BlueprintPure, meta = (DisplayName = "To Text (Double)", AdvancedDisplay = "1", BlueprintAutocast), Category = "Utilities|Text")
static FText Conv_DoubleToText(double InDouble, TEnumAsByte<ERoundingMode> RoundingMode, bool bAlwaysSign = false, bool bUseGrouping = true, int32 MinimumIntegralDigits = 1, int32 MaximumIntegralDigits = 324, int32 MinimumFractionalDigits = 0, int32 MaximumFractionalDigits = 3);
UFUNCTION(BlueprintPure, meta=(DisplayName = "To Text (Float)", AdvancedDisplay = "1", BlueprintAutocast), Category="Utilities|Text")
static FText Conv_FloatToText(float Value, TEnumAsByte<ERoundingMode> RoundingMode, bool bAlwaysSign = false, bool bUseGrouping = true, int32 MinimumIntegralDigits = 1, int32 MaximumIntegralDigits = 324, int32 MinimumFractionalDigits = 0, int32 MaximumFractionalDigits = 3);
其它Text函数
======================================================================================================
Text Is Empty (如果文本为空,则返回 true)
- 参数:
- InText - 源文本。
UFUNCTION(BlueprintPure, Category="Utilities|Text")
static bool TextIsEmpty(const FText& InText);
======================================================================================================
Text Is Transient (如果文本是瞬态的,则返回 true)
- 参数:
- InText - 源文本。
UFUNCTION(BlueprintPure, Category="Utilities|Text")
static bool TextIsTransient(const FText& InText);
======================================================================================================
Text Is Culture Invariant (如果文本是文化不变的,则返回 true)
- 参数:
- InText - 源文本。
UFUNCTION(BlueprintPure, Category="Utilities|Text")
static bool TextIsCultureInvariant(const FText& InText);
======================================================================================================
Text To Lower | Text To Upper (以文化正确的方式将文本转换为大小写)
- 参数:
- InText - 源文本。
UFUNCTION(BlueprintPure, Category="Utilities|Text")
static FText TextToLower(const FText& InText);
UFUNCTION(BlueprintPure, Category="Utilities|Text")
static FText TextToUpper(const FText& InText);
======================================================================================================
Text Trim Preceding | Text Trim Trailing | Text Trim Preceding And Trailing (删除文本前面或尾部的空白字符)
- 参数:
- InText - 源文本。
UFUNCTION(BlueprintPure, Category="Utilities|Text")
static FText TextTrimPreceding(const FText& InText);
UFUNCTION(BlueprintPure, Category="Utilities|Text")
static FText TextTrimTrailing(const FText& InText);
UFUNCTION(BlueprintPure, Category="Utilities|Text")
static FText TextTrimPrecedingAndTrailing(const FText& InText);
======================================================================================================
Get Empty Text (返回一段空文本)
- 参数:
- 无
UFUNCTION(BlueprintPure, Category="Utilities|Text")
static FText GetEmptyText();
======================================================================================================
Find Text In Localization Table (尝试使用在指定命名空间和键的 loc 表中找到的表示来查找现有 Text。)
- 参数:
- Namespace - 命名空间
- Key - 键
- OutText - 输出文本
UFUNCTION(BlueprintPure, Category="Utilities|Text")
static bool FindTextInLocalizationTable(const FString& Namespace, const FString& Key, FText& OutText);
======================================================================================================
Equal | Not Equal (字面用法)
- 参数:
- A - 比较文本A
- B - 比较文本B
UFUNCTION(BlueprintPure, meta=(DisplayName = "Equal Exactly (Text)", CompactNodeTitle = "==="), Category="Utilities|Text")
static bool EqualEqual_TextText(const FText& A, const FText& B);
UFUNCTION(BlueprintPure, meta=(DisplayName = "Equal, Case Insensitive (Text)", CompactNodeTitle = "=="), Category="Utilities|Text")
static bool EqualEqual_IgnoreCase_TextText(const FText& A, const FText& B);
UFUNCTION(BlueprintPure, meta=(DisplayName = "Not Equal Exactly (Text)", CompactNodeTitle = "!=="), Category="Utilities|Text")
static bool NotEqual_TextText(const FText& A, const FText& B);
UFUNCTION(BlueprintPure, meta=(DisplayName = "Not Equal, Case Insensitive (Text)", CompactNodeTitle = "!="), Category="Utilities|Text")
static bool NotEqual_IgnoreCase_TextText(const FText& A, const FText& B);
======================================================================================================
Format (文本格式化)
- 参数:
- InPattern - 格式化模式。
- InArgs - 格式化数组数据。
UFUNCTION(BlueprintPure, meta=(BlueprintInternalUseOnly = "true"))
static FText Format(FText InPattern, TArray<FFormatArgumentData> InArgs);
数值格式转换
======================================================================================================
As Percent (将传入的浮点数转换为文本,格式为百分比)
- 参数:
- Value - 货币数量。
- RoundingMode - 舍入模式。
- bAlwaysSign - 是否始终签名?
- bUseGrouping - 是否使用分组。
- MinimumIntegralDigits - 最小整数位数。
- MaximumIntegralDigits - 最大整数位数。
- MinimumFractionalDigits - 最小分数位数。
- MaximumFractionalDigits - 最大分数位数。
UFUNCTION(BlueprintPure, meta=(DisplayName = "As Percent", AdvancedDisplay = "1"), Category="Utilities|Text")
static FText AsPercent_Float(float Value, TEnumAsByte<ERoundingMode> RoundingMode, bool bAlwaysSign = false, bool bUseGrouping = true, int32 MinimumIntegralDigits = 1, int32 MaximumIntegralDigits = 324, int32 MinimumFractionalDigits = 0, int32 MaximumFractionalDigits = 3);
关于货币
======================================================================================================
As Currency (返回具体国家格式的货币值)
- 参数:
- BaseValue - 货币数量。
- CurrencyCode - 国家货币名称缩写。
UFUNCTION(BlueprintPure, meta = (DisplayName = "As Currency"), Category = "Utilities|Text")
static FText AsCurrencyBase(int32 BaseValue, const FString& CurrencyCode);
AsCurrency (integer) - DEPRECATED (use AsCurrency) (已经弃用)
AsCurrency (float) - DEPRECATED (use AsCurrency) (已经弃用)
关于时间
======================================================================================================
As Date | As Date (from UTC) (将传入的日期和时间转换为日期的文本)
- 使用不变时区格式化为日期,这将按原样使用给定的日期和时间,因此假定它已经在正确的时区。
- 参数:
- InDateTime - 传入的日期和时间。
UFUNCTION(BlueprintPure, meta=(DisplayName = "As Date", AdvancedDisplay = "1"), Category="Utilities|Text")
static FText AsDate_DateTime(const FDateTime& InDateTime);
- 使用给定时区格式化为日期(默认为本地时区),这会将给定的日期和时间从 UTC 转换为给定的时区(考虑 DST)。
- 参数:
- InDateTime - 传入的日期和时间。
- InTimeZone - 时区。
UFUNCTION(BlueprintPure, meta=(DisplayName = "As Date (from UTC)", AdvancedDisplay = "1"), Category="Utilities|Text")
static FText AsTimeZoneDate_DateTime(const FDateTime& InDateTime, const FString& InTimeZone = TEXT(""));
======================================================================================================
As DateTime | As DateTime (from UTC) (将传入的日期和时间转换为日期和时间的文本)
- 使用不变时区格式化为日期和时间。 这将按原样使用给定的日期和时间,因此假定它已经在正确的时区。
- 参数:
- In - 传入的日期和时间。
UFUNCTION(BlueprintPure, meta=(DisplayName = "As DateTime", AdvancedDisplay = "1"), Category="Utilities|Text")
static FText AsDateTime_DateTime(const FDateTime& In);
- 使用给定时区格式化为日期和时间(默认为本地时区),这会将给定的日期和时间从 UTC 转换为给定的时区(考虑 DST)。
- 参数:
- InDateTime - 传入的日期和时间。
- InTimeZone - 时区。
UFUNCTION(BlueprintPure, meta=(DisplayName = "As DateTime (from UTC)", AdvancedDisplay = "1"), Category="Utilities|Text")
static FText AsTimeZoneDateTime_DateTime(const FDateTime& InDateTime, const FString& InTimeZone = TEXT(""));
======================================================================================================
As Time | As Time (from UTC) (将传入的日期和时间转换为时间的文本)
- 使用不变时区格式化为时间,这将按原样使用给定的日期和时间,因此假定它已经在正确的时区。
- 参数:
- In - 传入的日期和时间。
UFUNCTION(BlueprintPure, meta=(DisplayName = "As Time", AdvancedDisplay = "1"), Category="Utilities|Text")
static FText AsTime_DateTime(const FDateTime& In);
- 使用给定时区格式化为日期和时间(默认为本地时区),这会将给定的日期和时间从 UTC 转换为给定的时区(考虑 DST)。
- 参数:
- InDateTime - 传入的日期和时间。
- InTimeZone - 时区。
UFUNCTION(BlueprintPure, meta=(DisplayName = "As Time (from UTC)", AdvancedDisplay = "1"), Category="Utilities|Text")
static FText AsTimeZoneTime_DateTime(const FDateTime& InDateTime, const FString& InTimeZone = TEXT(""));
======================================================================================================
As Timespan (将传入的时间跨度转换为文本,格式化为时间跨度)
- 参数:
- InTimespan - 传入时间跨度。
UFUNCTION(BlueprintPure, meta=(DisplayName = "As Timespan", AdvancedDisplay = "1"), Category="Utilities|Text")
static FText AsTimespan_Timespan(const FTimespan& InTimespan);
多语言
======================================================================================================
Is Text from String Table (如果给定文本引用字符串表,则返回 true)
- 参数:
- Text - 给定文本。
UFUNCTION(BlueprintPure, Category="Utilities|Text", meta=(DisplayName="Is Text from String Table"))
static bool TextIsFromStringTable(const FText& Text);
======================================================================================================
Make Text from String Table (Advanced) (尝试从字符串表 ID 和键创建文本实例)
- 参数:
- TableId - 字符串表ID。
- Key - 键。
UFUNCTION(BlueprintPure, Category="Utilities|Text", meta=(DisplayName="Make Text from String Table (Advanced)"))
static FText TextFromStringTable(const FName TableId, const FString& Key);
======================================================================================================
Find String Table ID and Key from Text (尝试查找给定文本使用的字符串表 ID 和键)
- 参数:
- Text - 文本
- OutTableId - 输出的字符串表ID。
- OutKey - 输出的键。
UFUNCTION(BlueprintPure, Category="Utilities|Text", meta=(DisplayName="Find String Table ID and Key from Text"))
static bool StringTableIdAndKeyFromText(FText Text, FName& OutTableId, FString& OutKey);
======================================================================================================
Is Polyglot Data Valid (检查给定的多语言数据是否有效)
- 参数:
- Text - 文本
- OutTableId - 输出的字符串表ID。
- OutKey - 输出的键。
UFUNCTION(BlueprintPure, Category="Utilities|Text")
static void IsPolyglotDataValid(const FPolyglotTextData& PolyglotData, bool& IsValid, FText& ErrorMessage);
======================================================================================================
Polyglot Data To Text (获取从此多语言数据创建的文本实例。)
- 参数:
- PolyglotData - 多语言文本数据
UFUNCTION(BlueprintPure, Category="Utilities|Text")
static FText PolyglotDataToText(const FPolyglotTextData& PolyglotData);
======================================================================================================