module TK.SpaceTac.UI { export interface UIBatchOptions { // Image key image: string // Initial location x?: number y?: number } /** * UI component to display a batch of the same image repeated a great number of times */ export class UIBatch { private internal: Phaser.GameObjects.Blitter constructor(view: BaseView, options: UIBatchOptions) { let info = view.getImageInfo(options.image); this.internal = view.add.blitter(options.x || 0, options.y || 0, info.key, info.frame); } /** * Add to a container */ addToContainer(container: UIContainer): void { container.add(this.internal); } /** * Set the location of the whole batch */ setPosition(x: number, y: number): void { this.internal.setPosition(x, y); } /** * Clear the batch of all items */ clear(): void { this.internal.clear(); } /** * Add an item to the batch */ add(x: number, y: number): void { this.internal.create(x, y); } } }