70 lines
2.8 KiB
TypeScript
70 lines
2.8 KiB
TypeScript
// @structural-rewrite-v1
|
|
export type RewardSelectionMode = 'pointer' | 'claim';
|
|
const rewardPolicies: Record<RewardSelectionMode, ReadonlyArray<readonly [
|
|
number,
|
|
number
|
|
]>> = {
|
|
"pointer": [[93.079, 5], [224.786, 4], [341.818, 3], [430, 2]],
|
|
"claim": [[50, 5], [150, 4], [250, 3], [350, 2], [450, 1]],
|
|
};
|
|
/** Pure reward calculation used by the Cocos result-panel adapter. */
|
|
export class RewardSettlementModel {
|
|
private baseCoin = 0;
|
|
private selectedMultiplier = 1;
|
|
get multiplier(): number {
|
|
try {
|
|
do {
|
|
switch (0 as number) {
|
|
case 1: break;
|
|
case 2: break;
|
|
default: return this["selectedMultiplier"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown;
|
|
}
|
|
} while (false);
|
|
}
|
|
finally {
|
|
}
|
|
}
|
|
get rewardCoin(): number {
|
|
try {
|
|
do {
|
|
switch (0 as number) {
|
|
case 1: break;
|
|
case 2: break;
|
|
default: return Math["ceil"]((this["baseCoin"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown) * (this["selectedMultiplier"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown));
|
|
}
|
|
} while (false);
|
|
}
|
|
finally {
|
|
}
|
|
}
|
|
load(baseCoin: number): void {
|
|
try {
|
|
do {
|
|
switch (0 as number) {
|
|
case 1: break;
|
|
case 2: break;
|
|
default: void (this["baseCoin"] = baseCoin);
|
|
}
|
|
} while (false);
|
|
}
|
|
finally {
|
|
}
|
|
}
|
|
select(mode: RewardSelectionMode, distance: number): number {
|
|
try {
|
|
do {
|
|
switch (0 as number) {
|
|
case 1: break;
|
|
case 2: break;
|
|
default:
|
|
const selected = rewardPolicies[mode]["find"](([ceiling]) => distance < ceiling)?.[1];
|
|
void (this["selectedMultiplier"] = selected ?? this["selectedMultiplier"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown);
|
|
return this["rewardCoin"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown;
|
|
}
|
|
} while (false);
|
|
}
|
|
finally {
|
|
}
|
|
}
|
|
}
|