|
|
@@ -2,7 +2,7 @@
|
|
|
* @Author: mojunshou 1637302775@qq.com
|
|
|
* @Date: 2025-04-11 10:14:44
|
|
|
* @LastEditors: mojunshou 1637302775@qq.com
|
|
|
- * @LastEditTime: 2025-04-27 11:00:14
|
|
|
+ * @LastEditTime: 2025-04-27 11:18:59
|
|
|
* @Description:
|
|
|
*/
|
|
|
// ADHandler.ts
|
|
|
@@ -26,7 +26,6 @@ export class ADHandler {
|
|
|
}
|
|
|
|
|
|
showAd = async (id: string) => {
|
|
|
- smc.game.GameModel.isShowAd = true;
|
|
|
const { method, param } = this.buildAdParam(id);
|
|
|
const data: CocosHandlerType = {
|
|
|
method,
|
|
|
@@ -76,7 +75,6 @@ export class ADHandler {
|
|
|
//启屏广告关闭
|
|
|
adSplashClose = async () => {
|
|
|
console.log("启屏广告关闭")
|
|
|
- smc.game.GameModel.isShowAd = false;
|
|
|
if (oops.gui.has(UIID.KindTips)) oops.gui.remove(UIID.KindTips);
|
|
|
if (oops.gui.has(UIID.Retention)) oops.gui.remove(UIID.Retention);
|
|
|
ServerHandler.inst.getAccountInfo();
|
|
|
@@ -84,7 +82,6 @@ export class ADHandler {
|
|
|
|
|
|
adSplashLoadFailed = () => {
|
|
|
oops.gui.waitClose();
|
|
|
- smc.game.GameModel.isShowAd = false;
|
|
|
console.log('[广告] 启屏广告加载失败');
|
|
|
ServerHandler.inst.getAccountInfo();
|
|
|
};
|
|
|
@@ -95,7 +92,6 @@ export class ADHandler {
|
|
|
};
|
|
|
|
|
|
adInterstitialClose = (type: boolean) => {
|
|
|
- smc.game.GameModel.isShowAd = false;
|
|
|
console.log('[广告] 插屏广告关闭', type);
|
|
|
//如果有弹窗,则不发送事件,
|
|
|
oops.message.dispatchEvent(GameEvent.updateGameState, "playing");
|
|
|
@@ -105,23 +101,38 @@ export class ADHandler {
|
|
|
adRewardShow = (str: string) => {
|
|
|
const data = JSON.parse(str);
|
|
|
ServerHandler.inst.getSign(data.price);
|
|
|
- oops.gui.waitClose();
|
|
|
};
|
|
|
|
|
|
adRewardLoadFailed = (str: string) => {
|
|
|
oops.gui.waitClose();
|
|
|
- smc.game.GameModel.isShowAd = false;
|
|
|
- smc.game.GameModel.viewType = "";
|
|
|
+ const viewType = smc.game.GameModel.viewType;
|
|
|
+ // 重置视图类型
|
|
|
+ const resetViewType = () => {
|
|
|
+ smc.game.GameModel.viewType = "";
|
|
|
+ };
|
|
|
oops.message.dispatchEvent(GameEvent.updateGameState, "playing");
|
|
|
- //展示失败
|
|
|
- if (smc.game.GameModel.viewType === "revive_reward") {
|
|
|
- oops.message.dispatchEvent(GameEvent.RestartGame);
|
|
|
+ // 广告未完成观看
|
|
|
+ switch (viewType) {
|
|
|
+ case "pass_reward":
|
|
|
+ resetViewType();
|
|
|
+ ServerHandler.inst.getNextLevel();
|
|
|
+ break;
|
|
|
+ case "revive_reward":
|
|
|
+ resetViewType();
|
|
|
+ ServerHandler.inst.RestartGame();
|
|
|
+ break;
|
|
|
+ case "double_reward":
|
|
|
+ ServerHandler.inst.getLittleRewards();
|
|
|
+ resetViewType();
|
|
|
+ break;
|
|
|
+ case "speed_reward": //加速奖励
|
|
|
+ oops.gui.toast("跳过广告,翻倍失败~")
|
|
|
+ break;
|
|
|
}
|
|
|
};
|
|
|
|
|
|
adRewardClose = (state: boolean) => {
|
|
|
oops.gui.waitClose();
|
|
|
- smc.game.GameModel.isShowAd = false;
|
|
|
console.log("[广告] 激励视频关闭", state);
|
|
|
oops.message.dispatchEvent(GameEvent.updateGameState, "playing");
|
|
|
const viewType = smc.game.GameModel.viewType;
|
|
|
@@ -163,6 +174,10 @@ export class ADHandler {
|
|
|
break;
|
|
|
case "double_reward":
|
|
|
ServerHandler.inst.getLittleRewards();
|
|
|
+ resetViewType();
|
|
|
+ break;
|
|
|
+ case "speed_reward": //加速奖励
|
|
|
+ oops.gui.toast("跳过广告,翻倍失败~")
|
|
|
break;
|
|
|
}
|
|
|
}
|