81 TArray<FWordItemData> AllWordData;
90 for (
const FReadData& ReadData : ReadDataArray)
92 FWordItemData ItemData;
93 ItemData.WordCode = ReadData.Index;
94 ItemData.Level = Level;
96 AllWordData.Add(ItemData);
106 for (
const FColorData& ColorData : ColorDataArray)
108 FWordItemData ItemData;
109 ItemData.WordCode = ColorData.Index;
110 ItemData.Level = Level;
112 AllWordData.Add(ItemData);
120 for (
const FListenData& ListenData : ListenDataArray)
122 if (ListenData.Level >= 1 && ListenData.Level <=
CurrentLevel)
124 FWordItemData ItemData;
125 ItemData.WordCode = ListenData.Index;
126 ItemData.Level = ListenData.Level;
127 ItemData.bIsCurrentLevel = (ListenData.Level ==
CurrentLevel);
128 AllWordData.Add(ItemData);
136 for (
const FListenData& ListenData : ListenDataArray)
138 if (ListenData.Level >= 1 && ListenData.Level <=
CurrentLevel)
140 FWordItemData ItemData;
141 ItemData.WordCode = ListenData.Index;
142 ItemData.Level = ListenData.Level;
143 ItemData.bIsCurrentLevel = (ListenData.Level ==
CurrentLevel);
144 AllWordData.Add(ItemData);
150 AllWordData.Sort([](
const FWordItemData& A,
const FWordItemData& B)
152 return A.Level > B.Level;
156 for (int32 i = 0; i < AllWordData.Num(); ++i)
158 const FWordItemData& ItemData = AllWordData[i];
178 UUniformGridSlot* GridSlot =
UniformGridPanel->AddChildToUniformGrid(WordItem, Row, Column);
181 GridSlot->SetHorizontalAlignment(HAlign_Fill);
182 GridSlot->SetVerticalAlignment(VAlign_Fill);