duckengine
Version:
A 2D Game Engine for the web.
80 lines (79 loc) • 2.47 kB
TypeScript
import { Duck } from '../..';
import EventEmitter from '../events/eventEmitter';
import Game from '../game';
import Scene from '../scene';
import Mouse from './models/mouse';
/**
* @class MouseInput
* @classdesc Creates a DuckEngine MouseInput
* @description The MouseInput Class. Use the mouse as input
* @since 1.0.0-beta
*/
export default class MouseInput {
/**
* @memberof MouseInput
* @description Game instance
* @type Game
* @since 2.0.0
*/
game: Game;
/**
* @memberof MouseInput
* @description Scene instance
* @type Scene
* @since 2.0.0
*/
scene: Scene;
/**
* @memberof MouseInput
* @description The EventEmitter used to emit for Mouse events
* @type EventEmitter
* @since 2.0.0
*/
eventEmitter: EventEmitter;
/**
* @memberof MouseInput
* @description All of the Mice added to the MouseInput
* @type { [key: string]: Mouse }
* @since 2.0.0
*/
mice: {
[key: string]: Mouse;
};
/**
* @memberof MouseInput
* @description Creates a MouseInput instance
* @param {Game} game Game instance
* @param {Scene} scene Scene instance
* @since 2.0.0
*/
constructor(game: Game, scene: Scene);
/**
* @memberof MouseInput
* @description Adds a Mouse to the MouseInput
* @param { 0 | 1 | 2 | 3 | 4 } button Mouse Button
* @param {string} descriptor The Mouse descriptor, used to set the value to MouseInput.mouse
* @param { (e: MouseEvent) => any } [mouseDown] Mouse down callback
* @param { (e: MouseEvent) => any } [mouseUp] Mouse up callback
* @param { (e: MouseEvent) => any } [mouseMove] Mouse move callback
* @returns {Mouse}
* @since 2.0.0
*/
addMouse(button: 0 | 1 | 2 | 3 | 4, descriptor: string, mouseDown?: (e: MouseEvent) => any, mouseUp?: (e: MouseEvent) => any, mouseMove?: (e: MouseEvent) => any): Mouse;
/**
* @memberof MouseInput
* @description Adds Mice to the MouseInput
* @param {Duck.Types.MouseInput.MouseBase[]} mice An array of Mouse Base configuration to use to add mice to the MouseInput
* @since 2.0.0
*/
addMice(mice: Duck.Types.MouseInput.MouseBase[]): void;
/**
* @memberof MouseInput
* @description Returns MouseInput.mice
* @returns {{ [key: string]: Mouse }}
* @since 2.0.0
*/
get inputs(): {
[key: string]: Mouse;
};
}