UNPKG

phaser4-rex-plugins

Version:
87 lines (59 loc) 1.73 kB
export default Gashapon; declare namespace Gashapon { type ModeType = 0 | 1 | 'shuffle' | 'random'; type ItemsType = { [name: string]: number }; type ForEachItemCallbackType = (name: string, count: number) => void; interface IConfig { mode?: ModeType, items?: ItemsType, reload?: boolean, rnd?: Phaser.Math.RandomDataGenerator, } interface IState { mode: ModeType, items: ItemsType, reload: boolean, rnd: Phaser.Math.RandomDataGenerator, remainder: ItemsType, result: string, restart: boolean } } declare class Gashapon { constructor( config?: Gashapon.IConfig ); constructor( config?: Gashapon.IState ); destroy(): void; next( name?: string ): string | null; readonly result: string; setItem(name: string, count: number): this; addItem(name: string, count: number): this; putItemBack(name: string, count: number): this; removeItem(name: string): this; removeAllItems(): this; toJSON( ): Gashapon.IState; resetFromJSON( state: Gashapon.IState ): this; getItems(): Gashapon.ItemsType; getRemain(): Gashapon.ItemsType; forEachItem( callback: Gashapon.ForEachItemCallbackType, scope?: object, ): this; forEachRemain( callback: Gashapon.ForEachItemCallbackType, scope?: object, ): this; getItemCount(name: string): number; getRemainCount(name: string): number; setRND( rnd?: Phaser.Math.RandomDataGenerator | null ): this; }