枚举转换
namespace EnumConversion
{
/** 将Enum的值转成FString*/
template<typename TEnum>
FORCEINLINE FString GetEnumValueAsString(const FString& enumName,TEnum enumValue)
{
UEnum* enumPtr = FindObject<UEnum>((UObject*)ANY_PACKAGE,*enumName,true);
if(!enumPtr)
{
return FString("InvaildEnumName");
}
return enumPtr->GetEnumName((int32)enumValue);
}
/** 将Enum的值转成FName*/
template<typename TEnum>
FORCEINLINE FName GetEnumValueAsName(const FString& enumName,TEnum enumValue)
{
UEnum* enumPtr = FindObject<UEnum>((UObject*)ANY_PACKAGE,*enumName,true);
if(!enumPtr)
{
return FName("InvaildEnumName");
}
return enumPtr->GetEnum((int32)enumValue);
}
/** 根据枚举名FName获取Enum值*/
template<typename TEunm>
FORCEINLINE TEnum GetEnumValueByName