AvatarEditorPartSorter.ts 1 Ko
Télécharger le fichier
import { IFigurePartSet } from '@octane/renderer';
export const AvatarEditorPartSorter = (hcFirst: boolean) => {
return (a: { partSet: IFigurePartSet; usesColor: boolean; isClear?: boolean }, b: { partSet: IFigurePartSet; usesColor: boolean; isClear?: boolean }) => {
const clubLevelA = !a.partSet ? -1 : a.partSet.clubLevel;
const clubLevelB = !b.partSet ? -1 : b.partSet.clubLevel;
const isSellableA = !a.partSet ? false : a.partSet.isSellable;
const isSellableB = !b.partSet ? false : b.partSet.isSellable;
if (isSellableA && !isSellableB) return 1;
if (isSellableB && !isSellableA) return -1;
if (hcFirst) {
if (clubLevelA > clubLevelB) return -1;
if (clubLevelA < clubLevelB) return 1;
} else {
if (clubLevelA < clubLevelB) return -1;
if (clubLevelA > clubLevelB) return 1;
}
if (a.partSet.id < b.partSet.id) return -1;
if (a.partSet.id > b.partSet.id) return 1;
return 0;
};
};
