UE C++基础 | UKismetTextLibrary 函数库解析

文章目录

虚幻C++ UKismetTextLibrary 函数库解析

数据类型转换

  • 虚幻宏标记解析:
    1. BlueprintPure 此类函数为纯函数该函数不会以任何方式影响拥有的对象,并且可以在蓝图或关卡蓝图图中执行。
    2. meta= 元数据标签:
      1. (DisplayName=“”) 设置蓝图中显示的节点名称。
      2. (CompactNodeTitle = “->”) 设置成紧凑标题节点。
      3. (BlueprintAutocast) 在蓝图函数中的静态函数标记为BlueprintPure的前提下使用,将自动为函数的返回类型和第一个参数的类型添加一个强制转换节点。
    3. Category=“Utilities|String” 在蓝图中使用右键Search时会分类在Utilities的String下,|表示层级划分。
UFUNCTION(BlueprintPure, meta=(DisplayName = "", CompactNodeTitle = "->", BlueprintAutocast), Category="Utilities|String")
  • 目前提供以下虚幻基础类型转换:

在这里插入图片描述

originalnote
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);

在这里插入图片描述

======================================================================================================

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Flame老唐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值