games/ChaoJiJieYaGuan_MaJiang2/assets/Script/Tools/GameResMgr.ts

174 lines
5.7 KiB
TypeScript

/**
* 资源管理
* 涉及到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
// })
// }
}
}