import { PREVIEW } from "cc/env"; import { MainConfig } from "../../Launch/_MainConfig"; import Language from "../Language"; import { EBundleName, LoadSceneType } from "../const/GameEnum"; import GuideDataMgr from "../Mgr_Guide/GuideDataMgr"; import GameInitLoad from "../Mgr_Load/GameInitLoad"; import LevelManager from "../Mgr_Load/LevelManager"; import ResLoad from "../ResUrl/ResLoad"; import { ILoadingTask, IProgressCallback } from "./LoadingMgr"; import LocalStorage from "../Mgr_LocalData/LocalStorage"; import { Utils } from "../ExUtils/Utils"; import { EResUrls } from "../ResUrl/EResUrls"; import ConditionTypeUtils from "../Mgr_LocalData/ConditionTypeUtils"; import { Global } from "../Global"; import { TDAnalyticsMgr } from "../Mgr_Ge/TDAnalyticsMgr"; import { GEData } from "../Mgr_Ge/GeDifine"; import PlatformManager from "../Platform/PlatformManager"; import { assetManager, Game } from "cc"; import { GameDataProxy } from "../Mgr_LocalData/DataTypeProxy/GameDataProxy"; import { ESounds } from "../MesEvent/ESounds"; import { TXSDKMgr } from "../Mgr_Ge/TXSDKMgr"; import { GEAnalyticsMgr } from "../Mgr_Ge/GEAnalyticsMgr"; import LogMgr from "../MesEvent/LogMgr"; /**SDK初始化配置 */ export const SDKConfigs: Record ILoadingTask> = { } /**游戏配置与用户数据 */ export const GameConfigUserDataConfigs: Record ILoadingTask> = { Login: () => ({ weight: 12, name: "登录", execute: async (progressCallback?: IProgressCallback) => { return new Promise((resolve) => { const starttime = Date.now(); PlatformManager.instance.InitAdParam(); Global.init(() => { LogMgr.ins.init(); const passtime = Math.floor((Date.now() - starttime) / 1000); TDAnalyticsMgr.ins.TrySendtrack(GEData.GEeventName.login_sdk,{login_time: passtime}); resolve(); }); }); } }), // 配置加载任务 Config: () => ({ weight: 10, name: "加载配置", execute: async (progressCallback?: IProgressCallback) => { return new Promise((resolve) => { Global.CsvMgr.initCsv(PlatformManager.PlatformInstance.platformData,() => { PlatformManager.instance.InitShareInfo(); resolve(); }); }); } }), // 加载用户数据任务 UserData: () => ({ weight: 1, name: "加载用户数据", execute: async (progressCallback?: IProgressCallback) => { return new Promise((resolve) => { const platformData = PlatformManager.PlatformInstance.platformData; const loginState = PlatformManager.PlatformInstance.loginState; LocalStorage.InitServerGameData(platformData,loginState,() => { //let isFirst = !!LocalStorage.getItem("is_first_time"); //TDAnalyticsMgr.ins.TrySendtrack(GEData.GEeventName.login_server, { is_first_time: isFirst }) //LocalStorage.setItem("is_first_time", 1) if (loginState.openid && loginState.openid.length > 0) { TDAnalyticsMgr.ins.init(loginState.openid, loginState.weChatAdId, MainConfig.DisplayVersions); // 引力SDK初始化 if(platformData.GEToken && platformData.GEToken.length > 0){ GEAnalyticsMgr.ins.init(loginState.openid, MainConfig.VerNum, PlatformManager.PlatformInstance.platform, {Name:platformData.gameName,AccessToken:platformData.GEToken}); } } PlatformManager.PlatformInstance._InitABTest(); if (window["wx"] && !window["ks"]) { TXSDKMgr.ins.initInfo(loginState.openid); } /**缓存文件读写重代理 */ LocalStorage.addEvent(); /**缓存数据代理管理器初始化 */ Utils.DataInstanceT.initData(); /**事件处理 */ PlatformManager.PlatformInstance.oceanengineEvent(); resolve(); }); }); // /**缓存文件读写重代理 */ // LocalStorage.addEvent(); // LocalStorage.InitGameData(); // /**缓存数据代理管理器初始化 */ // Utils.DataInstanceT.initData(); } }), // 加载字体 loadFont: () => ({ weight: 1, name: "加载字体", execute: async (progressCallback?: IProgressCallback) => { return new Promise((resolve) => { Language.Ins.InitLanguage(() => { resolve(); }); }); } }), // 初始化设置管理器 Setting: () => ({ weight: 1, name: "初始化管理器", execute: async (progressCallback?: IProgressCallback) => { Utils.DataInstanceT.initLogic(); Utils.DataInstanceT.RepairData(); ConditionTypeUtils.instance.initEvent(); /**初始化加载完成 */ LocalStorage.setLodingComplete(); /**引导初始化 */ GuideDataMgr.ins.init(); } }), // 主资源预加载 FristPreLoad: () => ({ weight: 12, name: "主资源预加载", execute: async (progressCallback?: IProgressCallback) => { ResLoad.Ins.PrePerfab(EResUrls.UIPrefabs("MainBgUI"), EBundleName.General); ResLoad.Ins.PrePerfab(EResUrls.UIPrefabs("MainTopUI"), EBundleName.General); ResLoad.Ins.PrePerfab(EResUrls.UIPrefabs("MainUI"), EBundleName.General); // return new Promise((resolve) => { // ResLoad.Ins.InitFirstBundleList(()=>{ // resolve(); // ResLoad.Ins.Perfab(EResUrls.UIPrefabs("MainBgUI"), EBundleName.General); // ResLoad.Ins.Perfab(EResUrls.UIPrefabs("MainTopUI"), EBundleName.General); // ResLoad.Ins.Perfab(EResUrls.UIPrefabs("MainUI"), EBundleName.General); // }); // }); } }), } export const TaskConfigs: Record ILoadingTask> = { // // 场景预加载 // ProgressInit: () => ({ // weight: 12, // name: "初始化", // execute: async (progressCallback?: IProgressCallback) => { // return new Promise((resolve) => { // resolve(); // }); // }, // }), // // UI预制体加载任务 // GameInitLoad: () => ({ // weight: 12, // name: "加载初始化资源", // execute: async (progressCallback?: IProgressCallback) => { // return new Promise((resolve) => { // let _gameInitLoad: GameInitLoad = new GameInitLoad(); // //开始加载 // _gameInitLoad.load(() => { // resolve(); // }); // }); // } // }), // UI预制体加载任务 CavansInitLoad: () => ({ weight: 12, name: "UI初始化", execute: async (progressCallback?: IProgressCallback) => { return new Promise((resolve) => { ResLoad.Ins.Perfab(EResUrls.UIPrefabs("UICanvas"), EBundleName.Presets,() => { // MainConfig.LodingCavansComple = true; resolve(); // GameDataProxy.Ins.preLoadAssets(()=>{ resolve() }); // ResLoad.Ins.Perfab(EResUrls.UIPrefabs("MainBgUI"), EBundleName.General); // ResLoad.Ins.Perfab(EResUrls.UIPrefabs("MainTopUI"), EBundleName.General); // ResLoad.Ins.Perfab(EResUrls.UIPrefabs("MainUI"), EBundleName.General,()=>{ // }); }) }); } }), // 场景预加载 GameMusic: () => ({ weight: 12, name: "加载游戏背景音乐", execute: async (progressCallback?: IProgressCallback) => { return new Promise((resolve) => { let urls: string[] = ["bgm"]; ResLoad.Ins.loadBundleAsync(EBundleName.Sound).then(() => { let bundle = ResLoad.Ins.getBundle(EBundleName.Sound); let tempurls: string[] = []; for (let i = 0; i < urls.length; i++) { tempurls.push(EResUrls.Sound(urls[i])) } if (tempurls.length == 0) { // resolve(); return; } bundle.load(tempurls, () => { Global.Audio.playBgm(ESounds.So_bgm); }); }) resolve(); }); }, }), // 场景预加载 preLoadScene: () => ({ weight:12, name: "加载场景", execute: async (progressCallback?: IProgressCallback) => { return new Promise((resolve) => { LevelManager.LoadForest2(LoadSceneType.Preloaded, () => { resolve(); }); }); }, }), };