UE4 c++ Enum转FString,int32转Enum
Enum转FStringint32转Enum
·
Enum转FString
示例:
//打印为 “NormalAttack”
FString EnumName = StaticEnum<EAttackCategory>()->GetNameStringByValue(static_cast<int64>(AttackCategory)));
//打印为 “EAttackCategory::NormalAttack”
FString EnumName = StaticEnum<EAttackCategory>()->GetValueAsName(static_cast<int64>(AttackCategory)));
示例2:
//.h
EAttackCategory AttackType;
//.cpp
//打印为 “NormalAttack”
static const UEnum* EnumType = FindObject<UEnum>(ANY_PACKAGE, TEXT("EAttackCategory"));
FString EnumName = EnumType->GetNameStringByIndex(static_cast<uint32>(AttackType)));
//或
FString AEnumTest::GetEnumName(FINTLFunnelStep InStep)
{
UEnum* Enum = StaticEnum<FINTLFunnelStep>();
FName name = Enum->GetNameByIndex(InStep);
//打印为 “name=kEnterGameShowEnterGame”
UE_LOG(LogTemp, Warning, TEXT("name=%s"),*name.ToString());
return name.ToString();
}
int32转Enum
示例:
TEnumAsByte<EGameplayModOp::Type> FCalculateData::GetModifierOp(int32 inModifierOp)
{
return static_cast<EGameplayModOp::Type>(inModifierOp);
}
原文:https://blog.csdn.net/ccccce/article/details/109496539
更多推荐
所有评论(0)