大侠
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

237 lines
9.3 KiB

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<string, () => ILoadingTask> = {
}
/**游戏配置与用户数据 */
export const GameConfigUserDataConfigs: Record<string, () => 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<string, () => 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();
});
});
},
}),
};