change display, add StringParam (WIP)

This commit is contained in:
pakintada@gmail.com 2024-01-09 17:11:15 +07:00
parent dd1c072201
commit 98341d2d80
11 changed files with 352 additions and 125 deletions

View file

@ -0,0 +1,45 @@
var rangeMaterialMapping: { [key: string]: (id: number) => boolean } = {
soda: (id: number) => id == 1031,
water: (id: number) => id == 1,
ice: (id: number) => id == 9100,
whipper: (id: number) => id == 8102,
bean: (id: number) => inRange(1001, 1009, id) || inRange(1100, 1199, id),
leaves: (id: number) => inRange(1600, 1799, id),
syrup: (id: number) =>
inRange(1032, 1039, id) ||
inRange(1020, 1030, id) ||
inRange(1200, 1299, id),
powder: (id: number) => inRange(1040, 1080, id) || inRange(1300, 1399, id),
cup: (id: number) => inRange(9500, 9549, id),
lid: (id: number) => inRange(9600, 9649, id),
straw: (id: number) => inRange(9700, 9749, id),
icecream: (id: number) => inRange(2100, 2200, id),
};
export function inRange(min: number, max: number, value: number) {
// console.log(min, max, value, value >= min && value <= max);
return value >= min && value <= max;
}
export function getCategories() {
return Object.keys(rangeMaterialMapping);
}
export function getMaterialType(materialId: number) {
for (const key of Object.keys(rangeMaterialMapping)) {
if (rangeMaterialMapping[key](materialId)) {
return key;
}
}
return 'others';
}
export function isNonMaterial(materialId: number) {
// test cup, lid, straw
return (
rangeMaterialMapping['cup'](materialId) ||
rangeMaterialMapping['lid'](materialId) ||
rangeMaterialMapping['straw'](materialId) || rangeMaterialMapping['whipper'](materialId)
);
}