UNPKG

phaser4-rex-plugins

Version:
70 lines (50 loc) 1.59 kB
import EventEmitter from '../../utils/eventemitter/EventEmitter'; export default LevelCounter; declare namespace LevelCounter { type TableType = ((level: number) => number) | number[] | { [level: number]: number } interface IConfig { table: TableType, maxLevel?: number, exp?: number, } type LevelUpCallback = ( level: number, fromExp: number, toExp: number, levelStartExp: number, levelEndExp: number ) => void; } declare class LevelCounter extends EventEmitter { constructor(config: LevelCounter.IConfig); exp: number; level: number; readonly requiredExp: number; setTable(table: LevelCounter.TableType): this; setMaxLevel(maxLevel?: number): this; readonly hasMaxLevel: boolean; readonly maxLevel: number; readonly maxExp: number; resetExp(exp: number): this; getExp(): number; getExp(level: number): number; getLevel(): number; getLevel(exp: number, level?: number): number; getRequiredExpToNextLevel(level?: number, exp?: number): number; checkLevel(level: number, exp: number): boolean; gainExp( incExp: number, callback?: LevelCounter.LevelUpCallback, scope?: Object ): this; setExp( exp: number, callback?: LevelCounter.LevelUpCallback, scope?: Object ): this; setLevel( level: number, callback?: LevelCounter.LevelUpCallback, scope?: Object ): this; }