/** * 资源管理 * 涉及到ui,prefab ,音效等资源可以在这里预加载 * */ import Define from "./Define"; /** * ui资源名称 */ export enum uiPreName { addiconTips = 'addiconTips', //添加桌面 top_tili = 'top_tili', //左上角体力 gameNode = 'gameNode', //游戏场景 setPanel = 'setPanel', //设置界面 wuxianEnery = 'wuxianEnery', //无限体力 addEnery = 'addEnery', //添加体力 cebianPanel = 'cebianPanel', yanhua = 'yanhua', //烟花 NumLevelUpPanel = 'NumLevelUpPanel', //升级过关 胜利 challengeGameNode = 'challengeGameNode', challengeCheckOutPanel = 'challengeCheckOutPanel', //关卡 challengeSuccess = 'challengeSuccess', //挑战成功 paiPre = 'paiPre', mukuang = 'mukuang', timeOutPanel = 'timeOutPanel' //时间耗尽 } /** * 音效资源名称 */ export enum soundName { bgSound0 = 'bgSound0', //背景音乐 bgSound1 = 'bgSound1', dingdong = 'dingdong', fapai = 'fapai', hecheng = 'hecheng', kaikacao = 'kaikacao', moveka = 'moveka', xipai = 'xipai', xuanka = 'xuanka' } /** * 游戏数据 */ export enum gameDataName{ //levelData = 'tiku', //关卡数据 用于选关界面 } export default class GameResMgr { private static __instance: GameResMgr; public static get Instance() { if (null == this.__instance) { this.__instance = new GameResMgr(); } return this.__instance; } loadOverNum = 0 //已加载完资源数 totalResNum = 0 //所有资源总数 uiPre = [] //ui资源 soundRes = [] //音效资源 GameData = [] //游戏数据 GameScenePre = [] //游戏场景 CheckOutPre = [] //关卡布局pre kaSp0 = [] //卡牌皮肤 kaSp2 = [] // public Initial() { //this.isloadOver = !1 this.loadOverNum = 0 var self = this //-------计算资源数--------// //ui数量 for (const key in uiPreName) { if (Object.prototype.hasOwnProperty.call(uiPreName, key)) { //console.log('打印key', key) this.totalResNum ++ } } //音效资源数 for (const key in soundName) { if (Object.prototype.hasOwnProperty.call(soundName, key)) { this.totalResNum ++ } } this.totalResNum += Define.kaskinnum0 //游戏数据 // for (const key in gameDataName) { // if (Object.prototype.hasOwnProperty.call(gameDataName, key)) { // this.totalResNum ++ // } // } //------加载资源-------// //加载ui for (const key in uiPreName) { if (Object.prototype.hasOwnProperty.call(uiPreName, key)) { let _name = uiPreName[key] cc.resources.load('Prefab/Ui/'+_name, cc.Prefab, (err, assert)=>{ if(err) return console.log('err=', err) self.loadOverNum++ GameResMgr.Instance.uiPre[_name] = assert as cc.Prefab }) } } //加载音乐 for (const key in soundName) { if (Object.prototype.hasOwnProperty.call(soundName, key)) { let _name = soundName[key] cc.resources.load('Sound/'+_name , (err, assert)=>{ if(err) return console.log('err=', err) self.loadOverNum++ GameResMgr.Instance.soundRes[_name] = assert }) } } //皮肤0 // GameResMgr.Instance.kaSp0 = [] // for (let index = 0; index < Define.kaskinnum0; index++) { // cc.resources.load('kapaikuang/kaskin0/ka'+index, cc.SpriteFrame , (err, assert)=>{ // if(err) return console.log('err=', err) // self.loadOverNum++ // GameResMgr.Instance.kaSp0[index] = assert // }) // } //皮肤2 GameResMgr.Instance.kaSp2 = [] for (let index = 0; index < Define.totalSeZhi; index++) { cc.resources.load('kapaikuang/kaskin2/pai'+index, cc.SpriteFrame , (err, assert)=>{ if(err) return console.log('err=', err) self.loadOverNum++ GameResMgr.Instance.kaSp2[index] = assert }) } //加载游戏数据 // for (const key in gameDataName) { // if (Object.prototype.hasOwnProperty.call(gameDataName, key)) { // let _name = gameDataName[key] // cc.resources.load('GameData/' + _name, (err, assert)=>{ // if(err) return console.log('err=', err) // self.loadOverNum++ // self.GameData[_name] = assert // //console.log('打印游戏数据', self.GameData) // }) // } // } //加载游戏关卡布局 // for (let index = 0; index < Define.checkKindNum; index++) { // let _name = 'CheckOutData/checkout' + index // cc.resources.load(_name, cc.Prefab, (err, assert)=>{ // if(err) return console.log('err=', err) // self.loadOverNum++ // GameResMgr.Instance.CheckOutPre[index] = assert as cc.Prefab // }) // } } }