// @structural-rewrite-v1 export type RewardSelectionMode = 'pointer' | 'claim'; const rewardPolicies: Record> = { "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 { } } }