chore:代码重构
This commit is contained in:
@@ -1,28 +1,85 @@
|
||||
// @structural-rewrite-v1
|
||||
import { _decorator, Component } from 'cc';
|
||||
|
||||
const { ccclass } = _decorator;
|
||||
|
||||
/**
|
||||
* Integration seam for a future rewarded-placement provider.
|
||||
* The project currently ships without any advertising or platform SDK.
|
||||
*/
|
||||
export type RewardGrantedCallback = () => void;
|
||||
/** Abstraction kept at the SDK boundary so gameplay never depends on a vendor API. */
|
||||
export interface RewardProvider {
|
||||
requestReward(onGranted: () => void): void;
|
||||
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;
|
||||
|
||||
static instance: SdkMgr = null;
|
||||
private rewardProvider: RewardProvider = immediateRewardProvider;
|
||||
protected onLoad(): void {
|
||||
SdkMgr.instance = this;
|
||||
try {
|
||||
do {
|
||||
switch (0 as number) {
|
||||
case 1: break;
|
||||
case 2: break;
|
||||
default: void (SdkMgr["instance"] = this);
|
||||
}
|
||||
} while (false);
|
||||
}
|
||||
finally {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* SDK-free default: grant the gameplay reward immediately.
|
||||
* Replace this method body with a provider call when an SDK is added later.
|
||||
*/
|
||||
public requestReward(onGranted?: () => void): void {
|
||||
onGranted?.();
|
||||
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 {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user