UNPKG

win-destroyer-ts

Version:

A modern recreation of the timeless Desktop Destroyer game developed by Ing. Miroslav Nemecek, written in TypeScript.

55 lines (54 loc) 1.89 kB
import Weapon from './Weapon'; import { Coordinates2D, DestroyerOptions, Sounds } from './types'; export declare class Destroyer { currentWeapon: Weapon; currentWeaponID: number; cursorLayer: HTMLDivElement; drawingCTX: CanvasRenderingContext2D | null; drawingLayer: HTMLCanvasElement; isFiring: boolean; mousePos: Coordinates2D; onDamage: Function; pageHealth: number; parent: HTMLElement; particleLayer: HTMLDivElement; particleLimit: number; volume: number; volumeChangeDelta: number; volumeHasBeenSet: boolean; weaponFiring: boolean; weaponsList: Weapon[]; zIndexStart: number; constructor(parent: HTMLElement, options?: DestroyerOptions, sounds?: Sounds); /** Erase all persisted particles on drawing layer */ clear(): void; /** Inject elements into parent to begin rendering process */ inject(): void; /** Handle hotkeys */ handleKeyDown(e: KeyboardEvent): void; /** Begin firing */ handleMouseDown(): void; /** Cease firing */ handleMouseUp(interval?: number): void; /** Track cursor position when the mouse is moved*/ handleMouseMove(e: MouseEvent): void; /** Explicitly set volume */ setVolume(vol: number): void; /** Increase volume */ volumeUp(): void; /** Decrease volume */ volumeDown(): void; /** Explicitly set weapon by ID */ setWeapon(wpn: number): void; /** Cycle to next weapon */ weaponUp(): void; /** Cycle to previous weapon */ weaponDown(): void; /** Update currentWeapon information based on currentWeaponID */ updateCurrentWeapon(): void; /** Remove all rendered content from the page, state is maintained behind the scenes and can be re-injected */ selfDestruct(): void; /** Update CSS variables on parent element */ updateCSS(): void; } export default Destroyer;