Кто-нибудь знает, как можно получить стрингу с енама, где только значение? GetValueAsString возвращает "EnumName::EnumValue" а мне надо только "EnumValue". Конечно, можно парсить, но это немного треш.
Есть макрос для этого интересный.
#define GETENUMSTRING(etype, evalue) ( (FindObject<UEnum>(ANY_PACKAGE, TEXT(etype), true) != nullptr) ? FindObject<UEnum>(ANY_PACKAGE, TEXT(etype), true)->GetNameStringByIndex((int32)evalue) : FString("Invalid - are you sure enum uses UENUM() macro?") )
Используется так:
*GETENUMSTRING("EUsesEnum", UseEnumValue)
Где EUsesEnum - Это название типа енума в кавычках,
UseEnumValue - переменная, которая хранит текущее значение (без кавычек).
Но, как сказали выше - пользоваться этим только для дебага можно и нужно.