import { resources } from "cc"; class herosList { /** * 静态对象 * * @public * @static * @type {herosList} * @memberof herosList */ private static instance: herosList; /** * 列表 * * @public * @type {Array} * @memberof herosList */ public list: Array = []; /** * 配置单例 * * @static * @returns {herosList} * @memberof herosList */ public static getInstance(): herosList { if (!herosList.instance) { herosList.instance = new herosList(); } return herosList.instance; } /** * 加载文件 * * @return {*} {Promise} * @memberof LanguageList */ public async loadConfig(): Promise { const data: any = await new Promise((resolve: any, reject: any): any => { resources.load('config\game/heros', (error: any, texture: any): any => { if (error) { console.log('loadRes error', 'config\game/heros', JSON.stringify(error)); resolve(null); } else { resolve(texture); } }); }); herosList.instance.list = data.json.list; } /** * 初始化 * * @memberof TableBigWheelConfigList */ public async init(): Promise { if(herosList.instance.list.length === 0) { await this.loadConfig(); } } /** * undefined * * @param {number} index * @return {*} {number} * @memberof herosList */ public uuid(index: number): number { return this.list[index].uuid; } /** * undefined * * @param {number} index * @return {*} {number} * @memberof herosList */ public path(index: number): number { return this.list[index].path; } /** * undefined * * @param {number} index * @return {*} {number} * @memberof herosList */ public type(index: number): number { return this.list[index].type; } /** * undefined * * @param {number} index * @return {*} {number} * @memberof herosList */ public level(index: number): number { return this.list[index].level; } /** * undefined * * @param {number} index * @return {*} {string} * @memberof herosList */ public name(index: number): string { return this.list[index].name; } /** * undefined * * @param {number} index * @return {*} {number} * @memberof herosList */ public atk(index: number): number { return this.list[index].atk; } /** * undefined * * @param {number} index * @return {*} {number} * @memberof herosList */ public hp(index: number): number { return this.list[index].hp; } /** * undefined * * @param {number} index * @return {*} {number} * @memberof herosList */ public atk_cd(index: number): number { return this.list[index].atk_cd; } /** * undefined * * @param {number} index * @return {*} {number} * @memberof herosList */ public power(index: number): number { return this.list[index].power; } /** * undefined * * @param {number} index * @return {*} {number} * @memberof herosList */ public speed(index: number): number { return this.list[index].speed; } /** * undefined * * @param {number} index * @return {*} {string} * @memberof herosList */ public skill(index: number): string { return this.list[index].skill; } /** * undefined * * @param {number} index * @return {*} {string} * @memberof herosList */ public max_skill(index: number): string { return this.list[index].max_skill; } /** * undefined * * @param {number} index * @return {*} {number} * @memberof herosList */ public skill_uuid(index: number): number { return this.list[index].skill_uuid; } /** * undefined * * @param {number} index * @return {*} {number} * @memberof herosList */ public max_skill_uuid(index: number): number { return this.list[index].max_skill_uuid; } /** * undefined * * @param {number} index * @return {*} {string} * @memberof herosList */ public word(index: number): string { return this.list[index].word; } /** * undefined * * @param {number} index * @return {*} {string} * @memberof herosList */ public info(index: number): string { return this.list[index].info; } /** * undefined * * @param {number} index * @return {*} {string} * @memberof herosList */ public atktype(index: number): string { return this.list[index].atktype; } /** * undefined * * @param {number} index * @return {*} {string} * @memberof herosList */ public mon(index: number): string { return this.list[index].mon; } /** * 数据长度 * * @return {*} {number} * @memberof herosList */ public dataLength(): number { return this.list.length; } } export default herosList.getInstance(); export interface IherosInfo { /** * undefined * * @type {number} * @memberof IherosInfo */ uuid: number /** * undefined * * @type {number} * @memberof IherosInfo */ path: number /** * undefined * * @type {number} * @memberof IherosInfo */ type: number /** * undefined * * @type {number} * @memberof IherosInfo */ level: number /** * undefined * * @type {string} * @memberof IherosInfo */ name: string /** * undefined * * @type {number} * @memberof IherosInfo */ atk: number /** * undefined * * @type {number} * @memberof IherosInfo */ hp: number /** * undefined * * @type {number} * @memberof IherosInfo */ atk_cd: number /** * undefined * * @type {number} * @memberof IherosInfo */ power: number /** * undefined * * @type {number} * @memberof IherosInfo */ speed: number /** * undefined * * @type {string} * @memberof IherosInfo */ skill: string /** * undefined * * @type {string} * @memberof IherosInfo */ max_skill: string /** * undefined * * @type {number} * @memberof IherosInfo */ skill_uuid: number /** * undefined * * @type {number} * @memberof IherosInfo */ max_skill_uuid: number /** * undefined * * @type {string} * @memberof IherosInfo */ word: string /** * undefined * * @type {string} * @memberof IherosInfo */ info: string /** * undefined * * @type {string} * @memberof IherosInfo */ atktype: string /** * undefined * * @type {string} * @memberof IherosInfo */ mon: string }