|
|
@@ -2,7 +2,7 @@
|
|
|
* @Author: mojunshou 1637302775@qq.com
|
|
|
* @Date: 2025-04-11 10:14:44
|
|
|
* @LastEditors: mojunshou 1637302775@qq.com
|
|
|
- * @LastEditTime: 2025-04-25 19:12:53
|
|
|
+ * @LastEditTime: 2025-04-27 11:00:14
|
|
|
* @Description:
|
|
|
*/
|
|
|
// ADHandler.ts
|
|
|
@@ -112,9 +112,7 @@ export class ADHandler {
|
|
|
oops.gui.waitClose();
|
|
|
smc.game.GameModel.isShowAd = false;
|
|
|
smc.game.GameModel.viewType = "";
|
|
|
- if (smc.game.GameModel.viewType != "" && smc.game.GameModel.viewType != "pass_reward") {
|
|
|
- oops.message.dispatchEvent(GameEvent.updateGameState, "playing");
|
|
|
- }
|
|
|
+ oops.message.dispatchEvent(GameEvent.updateGameState, "playing");
|
|
|
//展示失败
|
|
|
if (smc.game.GameModel.viewType === "revive_reward") {
|
|
|
oops.message.dispatchEvent(GameEvent.RestartGame);
|
|
|
@@ -124,32 +122,51 @@ export class ADHandler {
|
|
|
adRewardClose = (state: boolean) => {
|
|
|
oops.gui.waitClose();
|
|
|
smc.game.GameModel.isShowAd = false;
|
|
|
- console.log("[广告] 激励视频关闭", state)
|
|
|
+ console.log("[广告] 激励视频关闭", state);
|
|
|
oops.message.dispatchEvent(GameEvent.updateGameState, "playing");
|
|
|
+ const viewType = smc.game.GameModel.viewType;
|
|
|
+ // 重置视图类型
|
|
|
+ const resetViewType = () => {
|
|
|
+ smc.game.GameModel.viewType = "";
|
|
|
+ };
|
|
|
if (state) {
|
|
|
- //看完了可以领取奖励
|
|
|
- if (smc.game.GameModel.viewType === "speed_reward") {
|
|
|
- console.log("自动放置奖励发放成功")
|
|
|
- oops.message.dispatchEvent(GameEvent.DoubleSpeedOpenSuccess);
|
|
|
- smc.game.GameModel.viewType = "";
|
|
|
- } else {
|
|
|
- ServerHandler.inst.getVideorReward();
|
|
|
- }
|
|
|
- //如果是复活,分数不减
|
|
|
- if (smc.game.GameModel.viewType === "revive_reward") {
|
|
|
- smc.game.GameModel.viewType = "";
|
|
|
- oops.message.dispatchEvent(GameEvent.RestartGame);
|
|
|
+ // 广告观看完成,发放奖励
|
|
|
+ switch (viewType) {
|
|
|
+ case "double_reward": //翻倍奖励
|
|
|
+ ServerHandler.inst.getVideorReward();
|
|
|
+ resetViewType();
|
|
|
+ break;
|
|
|
+ case "pass_reward": //通关奖励
|
|
|
+ ServerHandler.inst.getVideorReward();
|
|
|
+ resetViewType();
|
|
|
+ ServerHandler.inst.getNextLevel();
|
|
|
+ break;
|
|
|
+ case "speed_reward": //加速奖励
|
|
|
+ oops.message.dispatchEvent(GameEvent.DoubleSpeedOpenSuccess);
|
|
|
+ resetViewType();
|
|
|
+ break;
|
|
|
+ case "revive_reward": //复活奖励
|
|
|
+ resetViewType();
|
|
|
+ oops.message.dispatchEvent(GameEvent.RestartGame);
|
|
|
+ break;
|
|
|
}
|
|
|
} else {
|
|
|
- //通关奖励,没看完也能过下一关
|
|
|
- if (smc.game.GameModel.viewType == "pass_reward") {
|
|
|
- smc.game.GameModel.viewType = "";
|
|
|
- ServerHandler.inst.getNextLevel();
|
|
|
- } else if (smc.game.GameModel.viewType === "revive_reward") {
|
|
|
- smc.game.GameModel.viewType = "";
|
|
|
- ServerHandler.inst.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();
|
|
|
+ break;
|
|
|
}
|
|
|
}
|
|
|
};
|
|
|
}
|
|
|
+// @ts-ignore
|
|
|
window["ADHandler"] = ADHandler;
|