Files
heros/assets/resources/ts/monsterList.ts
2024-08-18 23:38:55 +08:00

499 lines
8.3 KiB
TypeScript

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