import { BaseView } from "../../../lightMVC/core/base/BaseView"; import { App } from "../../Manager/App"; import { Sex } from "../../Framework/Const/EnumDefine"; import SDK from "../../sdk/SDK"; import { InterstitialType } from "../../sdk/vivo/Interstitial"; import gameScene from "../../gameScene"; import TimeControl from "../../TimeControl"; import AESUtil from "../../AESUtil" import ATSDK from "../../AnyThinkAds/ATJSSDK"; import ATRewardedVideoSDK from "../../AnyThinkAds/ATRewardedVideoJSSDK"; import AAJS2 from "../../ATAndroidJS2"; import GlobalManager from '../../GlobalManager'; import ATInterstitialSDK from "../../AnyThinkAds/ATInterstitialJSSDK"; import ATBannerSDK from "../../AnyThinkAds/ATBannerJSSDK"; import { AdType } from '../../ATAndroidJS2'; const { ccclass, property } = cc._decorator; @ccclass export default class SetNormalPanel extends BaseView { public drawView(): void { SDK.Instance.showInterstitial(InterstitialType.INTERSTITIAL_GAME_PAUSE); // 返回 let closeBtn = this.ui.getNode("close"); closeBtn.on(cc.Node.EventType.TOUCH_END, () => { cc.director.resume(); this.closeView(); }, this); let btnBack = this.ui.getNode("btnBackhall"); btnBack.on(cc.Node.EventType.TOUCH_END, () => { this.showInterAd("callBackFor_btnBackhall", false, this.callBackFor_btnBackhall); // console.log('zh:btnBackhall111 ') // cc.director.resume(); // cc.director.loadScene("hallScene"); }, this); this.setMusic(); this.setEffect(); let button_debug = this.ui.getNode("button_debug"); //zh:diy 测试专用 button_debug.on(cc.Node.EventType.TOUCH_END, () => { console.log('zh:button_debug ') TimeControl.instance.currentTili=1; App.LocalStorageUtil.setNumber(App.LocalStorageUtil.lst_Tili, TimeControl.instance.currentTili); }, this); } private callBackFor_btnBackhall(): void { cc.director.resume(); cc.director.loadScene("hallScene"); } private debugTest(){ } //设置音乐 public setMusic(): void { let MusicBtn = this.ui.getNode("music"); let musicOn = MusicBtn.getChildByName('on'); let musicOff = MusicBtn.getChildByName('off'); musicOn.active = (App.SoundManager.allowPlayBGM) ? true : false; musicOff.active = (App.SoundManager.allowPlayBGM) ? false : true; MusicBtn.on(cc.Node.EventType.TOUCH_END, () => { App.SoundManager.allowPlayBGM = !App.SoundManager.allowPlayBGM; musicOn.active = (App.SoundManager.allowPlayBGM) ? true : false; musicOff.active = (App.SoundManager.allowPlayBGM) ? false : true; App.LocalStorageUtil.setBoolean(App.LocalStorageUtil.lst_music, App.SoundManager.allowPlayBGM); console.log('点击音乐', App.SoundManager.allowPlayBGM); }, this); } //设置音效 public setEffect(): void { let EffectBtn = this.ui.getNode("audio"); let effectOn = EffectBtn.getChildByName('on'); let effectOff = EffectBtn.getChildByName('off'); effectOn.active = (App.SoundManager.allowPlayEffect) ? true : false; effectOff.active = (App.SoundManager.allowPlayEffect) ? false : true; EffectBtn.on(cc.Node.EventType.TOUCH_END, () => { App.SoundManager.allowPlayEffect = !App.SoundManager.allowPlayEffect; effectOn.active = (App.SoundManager.allowPlayEffect) ? true : false; effectOff.active = (App.SoundManager.allowPlayEffect) ? false : true; App.LocalStorageUtil.setBoolean(App.LocalStorageUtil.lst_effect, App.SoundManager.allowPlayEffect); console.log('点击音效', App.SoundManager.allowPlayEffect); }, this); } public static path(): string { return "hallScene/prefabs/SetNormalPanel"; } /** * 显示插屏广告 * * @param adMarkForClose 插屏广告关闭后调用那个方法的具体指示标识 * @param checkClose 是否需要判断关闭事件,有的不需要,如果AD占用游戏时间则为true * @param callback 插屏广告关闭(加载失败\非ANDROID平台)的回调 */ private showInterAd(adMarkForClose: string, checkClose: boolean, callback: () => void) { if (cc.sys.os === cc.sys.OS_ANDROID) { if(checkClose) { cc.sys.localStorage.setItem("adMarkForClose", adMarkForClose);//关闭后,调用哪个方法的标识 } //add判断插屏 开屏等 let pid_inter = AAJS2.getPlacementId2(AdType.Inter); let boo = ATInterstitialSDK.hasAdReady(pid_inter); if (boo) { // 暂停游戏 cc.director.pause(); console.log('zh:showInterAd AD OK'); ATInterstitialSDK.showAd(pid_inter); //因为跨脚本,所以使用全局注册函数调用,后来发现切换APP,导致ad close事件失效 if (!checkClose) {//如果不占用游戏时间 this.safeCallback(callback); } } else { console.log('zh:showInterAd AD 没有准备好'); //GlobalManager.getInstance().callMethod('initAdForPageInter'); //this.initAdForPageInter(); this.safeCallback(callback); } } else { this.safeCallback(callback); } } // 辅助方法:安全调用回调函数 private safeCallback(callback?: () => void) { if (callback) { callback(); } } }