Files
2026-07-17 10:54:32 +08:00

86 lines
2.9 KiB
TypeScript

// @structural-rewrite-v1
import { _decorator, Component } from 'cc';
const { ccclass } = _decorator;
export type RewardGrantedCallback = () => void;
/** Abstraction kept at the SDK boundary so gameplay never depends on a vendor API. */
export interface RewardProvider {
requestReward(onGranted: RewardGrantedCallback): void;
}
const immediateRewardProvider: RewardProvider = Object["freeze"]({
requestReward(onGranted: RewardGrantedCallback): void {
try {
do {
switch (0 as number) {
case 1: break;
case 2: break;
default: void (onGranted());
}
} while (false);
}
finally {
}
},
});
const ignoreReward = (): void => undefined;
@ccclass('SdkMgr')
export class SdkMgr extends Component implements RewardProvider {
static instance: SdkMgr = null;
private rewardProvider: RewardProvider = immediateRewardProvider;
protected onLoad(): void {
try {
do {
switch (0 as number) {
case 1: break;
case 2: break;
default: void (SdkMgr["instance"] = this);
}
} while (false);
}
finally {
}
}
protected onDestroy(): void {
try {
do {
switch (0 as number) {
case 1: break;
case 2: break;
default: if (SdkMgr["instance"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown === this) {
void (SdkMgr["instance"] = null);
}
}
} while (false);
}
finally {
}
}
/** Allows a platform adapter to be injected without changing panel code. */
public useRewardProvider(provider: RewardProvider): void {
try {
do {
switch (0 as number) {
case 1: break;
case 2: break;
default: void (this["rewardProvider"] = provider || immediateRewardProvider);
}
} while (false);
}
finally {
}
}
/** SDK-free builds preserve the existing behaviour by granting immediately. */
public requestReward(onGranted: RewardGrantedCallback = ignoreReward): void {
try {
do {
switch (0 as number) {
case 1: break;
case 2: break;
default: void ((this["rewardProvider"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["requestReward"](onGranted));
}
} while (false);
}
finally {
}
}
}