import { MINIGAME } from "cc/env"; import { MainConfig } from "../Launch/_MainConfig"; import { EGlobalEvent } from "./MesEvent/EGlobalEvent"; import MesMgr from "./MesEvent/MesMgr"; import AudioUtils from "./Mgr_Audio/AudioUtils"; import { VibrateUtils } from "./Mgr_Audio/VibrateUtils"; import CsvMgr from "./Mgr_CSV/CsvMgr"; import LocalStorage from "./Mgr_LocalData/LocalStorage"; import UIMgr from "./Mgr_UI/UIMgr"; import PlatformManager from "./Platform/PlatformManager"; import { ShareInfo } from "./Platform/T/ShareInfo"; import ShareManagerAKhgfawgsda from "./Platform/ShareManager"; import { TDAnalyticsMgr } from "./Mgr_Ge/TDAnalyticsMgr"; import { GEData, GEType } from "./Mgr_Ge/GeDifine"; import { Scene } from "cc"; import SceneDataMgr from "./Mgr_LocalData/SceneDataMgr"; import MathUtils from "./ExUtils/MathUtils"; import { TXSDKMgr } from "./Mgr_Ge/TXSDKMgr"; import { TXVideoMapping } from "./const/GameEnum"; import { GEAnalyticsMgr } from "./Mgr_Ge/GEAnalyticsMgr"; import CySDK from "./Mgr_Ge/CySDK"; import { LocalDataMgr } from "./Mgr_LocalData/LocalDataMgr"; class GlobalMgr { /**本地数据 */ get LocalStorage(){ return LocalStorage; } /**事件上报 */ get GeMgr() { return TDAnalyticsMgr.ins; } /**UI管理 */ get UIMgr(){ return UIMgr.Ins; } /**配置 */ get CsvMgr(){ return CsvMgr; } /**音乐 音频 */ get Audio(){ return AudioUtils.ins; } /**震动 */ get Vibrate(){ return VibrateUtils; } get SDK(){ return PlatformManager.instance; } init(callback?: Function) { this.SDK.initPlatform(callback); } /**广告 */ showvideo(data: {name: string,gamelv:number}, callback?: Function,shibai?:Function) { if (MainConfig.isNoAD && MainConfig.isGmOpen) { callback && callback(); MesMgr.event(EGlobalEvent.E_MINIGAME_PAUSE, false) return; } if (MINIGAME && !this.SDK.platData.rewardVideoId.length) { UIMgr.Ins.ShowTipsUI("暂无广告!") MesMgr.event(EGlobalEvent.E_MINIGAME_PAUSE, false) return; } MesMgr.event(EGlobalEvent.E_MINIGAME_PAUSE,true) TDAnalyticsMgr.ins.TrySendtrack(GEData.GEeventName.video_click,{source:data.name, enter_level_id:data.gamelv}); // GEAnalyticsMgr.ins.TrySendtrack(GEType.video_click,{ad_name:data.name, level_id:data.gamelv, n_clicktime:1}); GEAnalyticsMgr.ins.adShowEvent("reward",this.SDK.platData.rewardVideoId, {}); TXSDKMgr.ins.AD_CLICK(TXVideoMapping[data.name]); CySDK.onAdRequest("level","normal",data.gamelv,data.name); // 记录广告点击(在广告展示前调用) if (window["IAASDK"] && window["IAASDK"].default) { window["IAASDK"].default.videoClick({type: data.name}); } const startTime = Date.now(); this.SDK.showvideo(data, (is) => { MainConfig.adDuration = Date.now() - startTime; if (is) { callback && callback(); TXSDKMgr.ins.AD_FINISH(TXVideoMapping[data.name]); // LocalStorage.CheckSaveServerData(); // 新增IAA SDK调用 if (window["IAASDK"] && window["IAASDK"].default) { window["IAASDK"].default.videoAdd({type: data.name}); } if (window["ChannelUpload"] && window["ChannelUpload"].default) { window["ChannelUpload"].default.videoAdd(); } this.Audio.rePlayBgm(); LocalDataMgr.Game.TodayAdTimes++; MesMgr.event(EGlobalEvent.WATCH_AD_SUCCESS) } else { shibai && shibai(); UIMgr.Ins.ShowTipsUI("看完视频才能拿到奖励") } MesMgr.event(EGlobalEvent.E_MINIGAME_PAUSE,false) }); } ShowInterstitalAd() { let time = LocalStorage.getItem("InterstitalAdCD"); if (!time) { time = 0; } time = +time; let curTime = Date.now(); if (time + MainConfig.adDuration > curTime) { let offset = MathUtils.MsToFloat(time - curTime); console.warn(`分享冷却中${offset}s`) return; } let cd = 1 * 60; MainConfig.adDuration = 0; PlatformManager.PlatformInstance.ShowInterstitalAd(() => { LocalStorage.setItem("InterstitalAdCD", Date.now() + (cd * 1000)); }); } share(callBack: Function) { let shareInfo = ShareManagerAKhgfawgsda.instance.GetShareInfo(); PlatformManager.PlatformInstance.ShareAppMessage(shareInfo, () => { //UIMgr.Ins.ShowTipsUI("分享成功!") callBack && callBack(); }, () => { UIMgr.Ins.ShowTipsUI("分享失败!") }) } public setInitCloudKeys(tObject:{[key:string]:string}){ let wx = window["wx"]; if (wx) { wx.postMessage({ event: 'initCloudKeys', value:tObject ,userinfo:{ avatarUrl:MainConfig.UserInfo.avatar_url, nickname:MainConfig.UserInfo.nick_name, openid:MainConfig.openid, }}); } } public setCloudValue(key:string,value:string) { let wx = window["wx"]; if (wx) { wx.postMessage({ event: 'updateCloudValue', key: key, value:value }); } } } export const Global = new GlobalMgr();