mirror of
https://github.com/duckietm/Nitro-V3.git
synced 2026-06-19 23:16:21 +00:00
36 lines
1.1 KiB
TypeScript
36 lines
1.1 KiB
TypeScript
import { IFigurePartSet } from '@nitrots/nitro-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;
|
|
};
|
|
};
|