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
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();
|
|
});
|
|
});
|
|
},
|
|
}),
|
|
|
|
};
|