Skip to content

Commit c2dec6d

Browse files
committed
Take reverse option into consideration in home sorter
1 parent 1a8f120 commit c2dec6d

File tree

1 file changed

+36
-7
lines changed

1 file changed

+36
-7
lines changed

SerialPrograms/Source/PokemonHome/Programs/PokemonHome_BoxSorting.cpp

Lines changed: 36 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -197,33 +197,62 @@ bool operator<(const std::optional<Pokemon>& lhs, const std::optional<Pokemon>&
197197
// NOTE edit when adding new struct members
198198
case BoxSortingSortType::NationalDexNo:
199199
if (lhs->national_dex_number != rhs->national_dex_number){
200-
return lhs->national_dex_number < rhs->national_dex_number;
200+
if (preference.reverse){
201+
return lhs->national_dex_number > rhs->national_dex_number;
202+
}else{
203+
return lhs->national_dex_number < rhs->national_dex_number;
204+
}
201205
}
202206
break;
203207
case BoxSortingSortType::Shiny:
204208
if (lhs->shiny != rhs->shiny){
205-
return lhs->shiny;
209+
if (preference.reverse){
210+
return rhs->shiny;
211+
}else{
212+
return lhs->shiny;
213+
}
206214
}
207215
break;
208216
case BoxSortingSortType::Gigantamax:
209217
if (lhs->gmax != rhs->gmax){
210-
return lhs->gmax;
218+
if (preference.reverse){
219+
return rhs->gmax;
220+
}else{
221+
return lhs->gmax;
222+
}
211223
}
212224
break;
213225
case BoxSortingSortType::Ball_Slug:
214226
if (lhs->ball_slug < rhs->ball_slug){
215-
return true;
227+
if (preference.reverse){
228+
return false;
229+
}else{
230+
return true;
231+
}
216232
}
217233
if (lhs->ball_slug > rhs->ball_slug){
218-
return false;
234+
if (preference.reverse){
235+
return true;
236+
}else{
237+
return false;
238+
}
219239
}
220240
break;
221241
case BoxSortingSortType::Gender:
222242
if (lhs->gender < rhs->gender){
223-
return true;
243+
if (preference.reverse){
244+
return false;
245+
}else{
246+
return true;
247+
}
224248
}
225249
if (lhs->gender > rhs->gender){
226-
return false;
250+
if (preference.reverse){
251+
return true;
252+
}
253+
else{
254+
return false;
255+
}
227256
}
228257
break;
229258
}

0 commit comments

Comments
 (0)