160 lines
5.1 KiB
TypeScript
160 lines
5.1 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', //挑战成功
|
|
}
|
|
|
|
/**
|
|
* 音效资源名称
|
|
*/
|
|
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 = [] //卡牌皮肤
|
|
|
|
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
|
|
})
|
|
}
|
|
|
|
//加载游戏数据
|
|
// 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
|
|
// })
|
|
// }
|
|
}
|
|
}
|