UNPKG

bp-space-invaders

Version:
49 lines (48 loc) 2.08 kB
import { IAsset } from '../interface/asset.interface'; import { GameService } from '../service/game.service'; import { AssetAlignEnum } from './enum/asset-align.enum'; import { AssetAlignVerticalEnum } from './enum/asset-align-vertical.enum'; import { ObservableModel } from '../model/observable.model'; import { TimerModel } from '../model/timer.model'; import { BoundaryModel } from '../model/boundary.model'; import { BoundarySetupModel } from '../model/boundary-set.model'; export declare abstract class AssetClass implements IAsset { protected gameService: GameService; protected ctx: CanvasRenderingContext2D; protected boundarySetup: BoundarySetupModel; protected uid: number; shape: number[][]; x: number; y: number; isAnimateOnce: boolean; protected assetAnimation: number[][]; protected destructionAnimation: number[][]; protected engineAnimation: number[][]; protected requestId: number; protected destructionRequestId: number; protected assetTimer: TimerModel; protected destructionTimer: TimerModel; protected engineTimer: TimerModel; protected engineXOffset: number; protected engineYOffset: number; protected animationCounter: number; protected destructionAnimationCounter: number; protected engineAnimationCounter: number; protected boundary: BoundaryModel; isDestroyed: boolean; protected isGameOver: boolean; protected isGamePaused: boolean; protected assetAnimations: number[][][]; protected engineAnimations: number[][][]; protected destructionAnimations: number[][][]; constructor(gameService: GameService, ctx: CanvasRenderingContext2D, boundarySetup: BoundarySetupModel, uid: number); init(): void; getAssetHeight(): number; getAssetWidth(): number; positionAsset(alignPosition: AssetAlignEnum, justifyPosition: AssetAlignVerticalEnum): IAsset; protected processKeyStroke(event: ObservableModel): void; protected spawn(): void; restore(): void; move(asset: IAsset): void; protected stopAnimation(): boolean; }