UNPKG

fisk-engine

Version:

Typescript based HTML5 game engine

70 lines (69 loc) 2.49 kB
import GameEntity from "../interfaces/GameEntity"; import iGameStage from "../interfaces/GameStage"; import ImageMap from "../interfaces/ImageMap"; import SoundMap from "../interfaces/SoundMap"; import GameConfig from "../configs/GameConfig"; import SoundConfig from "../interfaces/SoundConfig"; export default class FiskGame { height: number; width: number; canvas: HTMLCanvasElement; context: CanvasRenderingContext2D | null; ctx: CanvasRenderingContext2D; player: any; customCollision: (a: GameEntity, b: GameEntity) => any | null; currentStage: iGameStage | undefined; imagesLoaded: number; totalImages: number; images: ImageMap; soundsLoaded: number; totalSounds: number; sounds: SoundMap; soundNames: string[]; currentKeys: string[]; stageData: { [key: string]: {}; }; onReady: (game: FiskGame) => void; logicLoop: number | undefined; audioContext: AudioContext; firstInteract: boolean; constructor({ height, width, images, sounds, selector, imageSmoothing, stageData, onReady, customCollision, }?: GameConfig); checkFirstInteract(): void; onKeydown(event: KeyboardEvent): void; onKeyup(event: KeyboardEvent): void; setupKeyboardBinding(): void; stopAllSounds(): void; preloadImages(arr: string[], callback: () => void): void; preloadSounds(arr: SoundConfig[], callback: () => void): void; preloadData(arr: string[], callback: () => void): void; get scale(): number; updateScale(): void; bindScreenResize(): void; getClick(event: MouseEvent): { x: number; y: number; width: number; height: number; }; getTouch(event: TouchEvent, game: FiskGame): { x: number; y: number; width: number; height: number; }; onClick(event: MouseEvent): void; onTouch(event: TouchEvent): void; onMouseMove(event: MouseEvent): void; onMouseUp(event: MouseEvent): void; onMouseDown(event: MouseEvent): void; onTouchMove(event: TouchEvent): void; onTouchEnd(event: TouchEvent): void; bindClick(): void; createMainCanvas(selector: string): HTMLCanvasElement; setImageSmoothing(smoothing: boolean): void; render(): void; collisionCheck(a: GameEntity, b: GameEntity): boolean | any; simpleCollisionCheck(a: GameEntity, b: GameEntity): boolean; logic(): void; }