一.FName
测试相等性,虽然存了大小写,却对大小写不敏感。equal为false。
Compare返回0,才相等。源码要转两次才看得到注释
测试 表里是否已经存在了这个 键值的实例,两个都找到了。这是在构造的时候找,找不到才返回0。


cpp
void AWXStringActor::FNameTest()
{
FName test1 = FName("StrongGWX");
FName test2 = FName("FastGWX");
bool equal = (test1 == test2);
int32 a = test1.Compare(test2);
//
if (FName("stronggwx", FNAME_Find) != NAME_None)
{
int32 a1 = 1;
}
if (FName("fastgwx",FNAME_Find) != NAME_None)
{
int32 a2 = 2;
}
}
二.FText
1.在调试时,由于FText内部时不可读的引用,所以用toString转换调试。网上还有一种Unreal.natvis 拷贝,但可能版本更新后,这个方法也咩用了。


2.代码
cpp
#define LOCTEXT_NAMESPACE "WXStringActor"
cpp
FText AWXStringActor::FTextChange()
{
FText MyCodeText = LOCTEXT("OwnCode","MyCode!");
FString Debug1 = MyCodeText.ToString();
FText MyCodeTypeText = NSLOCTEXT("CodeTypeNameSpace","CodeType","GWXCode");
FString Debug2 = MyCodeTypeText.ToString();
return MyCodeText;
}
FText AWXStringActor::FTextFormat()
{
FString PlayerName = TEXT("fgzzdXG");
//FText PlayerText = FText::Format((LOCTEXT("PlayerNameFmt","#{0} is Really Cool"),FText::FromString(PlayerName)));
FText PlayerText = FText::FormatNamed(LOCTEXT("PlayerNameFmt", "{PlayerName} is really cool"), TEXT("PlayerName"), FText::FromString(PlayerName));
FString Debug1 = PlayerText.ToString();
FText NumTexttg = FText::AsNumber(15689.33f);
FString Debug2 = NumTexttg.ToString();
FText PercentTexttg = FText::AsPercent(0.33f);
FString Debug3 = PercentTexttg.ToString();
FText MemeoryText = FText::AsMemory(1234);
FString Debug4 = MemeoryText.ToString();
FText MoneyText = FText::AsCurrencyBase(650,TEXT("EUR"));
FString Debug5 = MoneyText.ToString();
//FText::AsDateTime();
FDateTime MyDataTime = FDateTime::Now();
FText TimeText = FText::AsTime(MyDataTime);
return PlayerText;
}
