商店:修改商店价格

This commit is contained in:
luying
2022-08-09 15:51:57 +08:00
parent 5f2d2d6722
commit ff5b28af7a

View File

@@ -89,9 +89,10 @@ export function getShopPrice(goodId: number, count: number, buyCount: number, st
let result = 0;
for(let i = 0; i < count; i++) {
let curPrice = 0;
for(let { times, price } of arr) {
curPrice = price;
if(buyCount + i <= times) break;
for(let { times, price, maxTimes } of arr) {
if(buyCount + i + 1 >= times && (buyCount + i + 1 <= maxTimes||maxTimes == -1)) {
curPrice = price; break;
}
}
result += curPrice;
}
@@ -102,14 +103,16 @@ export function getShopPrice(goodId: number, count: number, buyCount: number, st
}
function parseShopPrice(str: string) {
let result = new Array<{ times: number, price: number }>();
let result = new Array<{ times: number, price: number, maxTimes: number }>();
if (!str) return result;
let decodeArr = decodeArrayListStr(str);
for (let [times, price] of decodeArr) {
for (let i = 0; i < decodeArr.length; i++) {
let [times, price] = decodeArr[i];
if (isNaN(parseInt(times)) || isNaN(parseInt(price))) {
throw new Error('data table format wrong');
}
result.push({ times: parseInt(times), price: parseInt(price) });
result.push({ times: parseInt(times), price: parseInt(price), maxTimes: -1 });
if(result[i - 1]) result[i - 1].maxTimes = parseInt(times);
}
return result
}