declare module '2d-gaming/game.models' { export interface IGameArea { name?: string; width?: string; height?: string; gravity: number; canvas: HTMLCanvasElement; context: CanvasRenderingContext2D; interval?: any; frame: number; area: HTMLElement; start: () => void; doEveryFrame: () => void; stop: (sky, player, objects?, ground?) => void; clear: () => void; everyinterval(frames: number): any; } export interface IPath { x: number; y: number; speed: number; infinit: boolean; } export interface IFrameItem { object: IGameObject; frame: number; } export interface IAnimation { length: number; loop: boolean; speed: number; frameItems: IFrameItem[]; start: () => void; } export interface IMovement { } export interface IGamePhysics { gravity: number; windStrength: number; windDirection: string; } export interface IDesign { image: any; color: string; shape: string; height: any; width: any; } export interface IGameObject { ctx: CanvasRenderingContext2D; score: number; shoot: (x, y, speed, object) => void; } } declare module '2d-gaming/animator.component' { import { IFrameItem, IAnimation, IGameObject } from '2d-gaming/game.models'; export class Animation implements IAnimation { length: number; loop: boolean; speed: number; frame: number; frameItems: any[]; baseObject: IGameObject; private interval; constructor(length: number, loop: boolean, speed: number); addObject(frame: number, item: IGameObject): void; start(): void; stop(): void; animationScript(): void; fillTimeline(object: IFrameItem): void; getNextItemFrame(object: IFrameItem): IFrameItem; } } declare module '2d-gaming/game-area.view.component' { import { OnInit } from '@angular/core'; export class TwoDGaming implements OnInit { constructor(); ngOnInit(): void; } } declare module '2d-gaming/ObjectLogic/postion.component' { export class PositionObject { xPos: number; yPos: number; constructor(xPos: number, yPos: number); } } declare module '2d-gaming/ObjectLogic/movement.component' { import { IPath } from '2d-gaming/game.models'; import { PositionObject } from '2d-gaming/ObjectLogic/postion.component'; export class MovementComponent { position: PositionObject; newPos: IPath; speedY: number; speedX: number; gravity: number; constructor(position: PositionObject, newPos?: IPath); moveRight(speed: any): void; moveLeft(speed: any): void; moveUp(speed: any): void; moveDown(speed: any): void; clearMovement(): void; updateMovement(): void; private travelpath(); } } declare module '2d-gaming/ObjectLogic/ammo.component' { import { ObjectComponent } from '2d-gaming/game.objects.component'; export class ObjectArray { item: ObjectComponent; howMany: number; items: ObjectComponent[]; constructor(item?: ObjectComponent, howMany?: number); multiply(item: ObjectComponent, howMany: number): void; update(): void; removeFromGame(): void; add(item: ObjectComponent): void; addMulti(items: ObjectComponent[]): void; } } declare module '2d-gaming/ObjectLogic/updateFrame.component' { import { ObjectArray } from '2d-gaming/ObjectLogic/ammo.component'; export class UpdateHandler { objects: ObjectArray; constructor(objects: ObjectArray); update(): void; } } declare module '2d-gaming/ObjectLogic/crashLogic.component' { import { ObjectComponent } from '2d-gaming/game.objects.component'; import { ObjectArray } from '2d-gaming/ObjectLogic/ammo.component'; export class CrashComponent { object: ObjectArray; barriers: ObjectArray; constructor(object: ObjectArray, barriers: ObjectArray); private hitBarrier(object); addClip(side: string, object: ObjectComponent, barrier: ObjectComponent): void; crashWithSide(currentObj: ObjectComponent, otherobj: ObjectComponent): string; leavesWith(object: ObjectComponent): any; newPos(barrier?: any): void; } } declare module '2d-gaming/Design/objectDesign.component' { import { IDesign } from '2d-gaming/game.models'; export class ObjectDesign implements IDesign { image: HTMLImageElement; color: string; shape: string; height: any; width: any; text: string; centerY: number; centerX: number; radius: number; constructor(width: any, height: any, shape: string, color: string, image?: any, text?: string); } } declare module '2d-gaming/GameAreaLogic/object-category-setter' { import { ObjectArray } from '2d-gaming/ObjectLogic/ammo.component'; export class GameObjectCategory { gameObjects: ObjectArray; barriers: ObjectArray; nonBarriers: ObjectArray; constructor(gameObjects: ObjectArray); set(): void; clear(): void; } } declare module '2d-gaming' { export * from '2d-gaming/game-area.object'; export * from '2d-gaming/game.objects.component'; export * from '2d-gaming/game.models'; export * from '2d-gaming/game-area.view.component'; export * from '2d-gaming/animator.component'; export * from '2d-gaming/ObjectLogic/movement.component'; export * from '2d-gaming/ObjectLogic/postion.component'; export * from '2d-gaming/ObjectLogic/updateFrame.component'; export * from '2d-gaming/ObjectLogic/crashLogic.component'; export * from '2d-gaming/ObjectLogic/ammo.component'; export * from '2d-gaming/Design/objectDesign.component'; export * from '2d-gaming/GameAreaLogic/object-category-setter'; } declare module '2d-gaming/game.objects.component' { import { GameAreaObject } from '2d-gaming/game-area.object'; import { IPath, IGameObject } from '2d-gaming'; import { ObjectDesign } from '2d-gaming/Design/objectDesign.component'; import { MovementComponent } from '2d-gaming/ObjectLogic/movement.component'; import { ObjectArray } from '2d-gaming/ObjectLogic/ammo.component'; import { PositionObject } from '2d-gaming/ObjectLogic/postion.component'; export class ObjectComponent extends MovementComponent implements IGameObject { game: GameAreaObject; design: ObjectDesign; postion: PositionObject; isBarrier: boolean; origin: ObjectComponent; private barriers; bullets: ObjectArray; ctx: CanvasRenderingContext2D; private update; score: number; newPath: IPath; constructor(game: GameAreaObject, design: ObjectDesign, postion: PositionObject, isBarrier: boolean, isObjectDependent: boolean); draw(): void; shoot(x: any, y: any, speed: any, object: ObjectComponent): void; private create(); } } declare module '2d-gaming/game-area.object' { import { IGameArea } from '2d-gaming/game.models'; import { ObjectArray } from '2d-gaming/ObjectLogic/ammo.component'; import { CrashComponent } from '2d-gaming/ObjectLogic/crashLogic.component'; import { UpdateHandler } from '2d-gaming/ObjectLogic/updateFrame.component'; import { GameObjectCategory } from '2d-gaming/GameAreaLogic/object-category-setter'; export class GameAreaObject implements IGameArea { name: string; width: string; height: string; doEveryFrame: () => void; gravity: number; canvas: HTMLCanvasElement; context: CanvasRenderingContext2D; frame: number; private startOn; interval: any; crashHandler: CrashComponent; update: UpdateHandler; gameObjects: ObjectArray; splitter: GameObjectCategory; area: HTMLElement; constructor(name: string, width: string, height: string); start(): void; clear(): void; stop(): void; everyinterval(frames: number): boolean; } } declare module '2d-gaming/game.module' { export { TwoDGaming } from '2d-gaming/game-area.view.component'; export { GameAreaObject } from '2d-gaming/game-area.object'; export { Animation } from '2d-gaming/animator.component'; export class TwoDGamingModule { } } /* SystemJS module definition */ declare var module: { id: string; }; declare module '2d-gaming/ObjectLogic/logic.component' { export class LogicComponent { constructor(); } }