I tried to make things easier for myself, when making my own custom settings class.
USTRUCT(BlueprintType)
struct FWGD_CndMenu_Options_ListItem
{
GENERATED_BODY()
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "CndMenu_Options")
FText Text;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "CndMenu_Options")
int32 RawValue = 0;
FWGD_CndMenu_Options_ListItem(const FText InText, const int32 InRawValue)
: Text(InText), RawValue(InRawValue)
{
}
};
// Inside Header
TMap<ECndOptions_ListItemType, TArray<FWGD_CndMenu_Options_ListItem>> CndSettings_Items;
// Inside CPP
FName ST_LogicalName = StringTables.Table_Logic[Key_STR_MenuOptions];
CndSettings_Items.FindOrAdd(ListItemType);
switch (ListItemType)
{
case PG4C2_GraphicsPreset:
{
// Quality level entries
CndSettings_Items[ListItemType].Add(FWGD_CndMenu_Options_ListItem(FText::FromStringTable(ST_LogicalName, TEXT("UI_Option_Item_Quality_1")), 0));
CndSettings_Items[ListItemType].Add(FWGD_CndMenu_Options_ListItem(FText::FromStringTable(ST_LogicalName, TEXT("UI_Option_Item_Quality_2")), 1));
CndSettings_Items[ListItemType].Add(FWGD_CndMenu_Options_ListItem(FText::FromStringTable(ST_LogicalName, TEXT("UI_Option_Item_Quality_3")), 2));
CndSettings_Items[ListItemType].Add(FWGD_CndMenu_Options_ListItem(FText::FromStringTable(ST_LogicalName, TEXT("UI_Option_Item_Quality_4")), 3));
CndSettings_Items[ListItemType].Add(FWGD_CndMenu_Options_ListItem(FText::FromStringTable(ST_LogicalName, TEXT("UI_Option_Item_Quality_5")), 4));
break;
}
}
}
But I keep getting the following errors:
‘FWGD_CndMenu_Options_ListItem’: no appropriate default constructor available
‘’: cannot convert from ‘const ECndOptions_ListItemType’ to ‘TTuple<KeyType,ValueType>’