import { Component, ComponentNames } from "."; import { Direction } from "../interfaces"; export class LambdaSpawn extends Component { public direction: Direction | null; public spawnsLeft: number; public code: string = ""; constructor( spawnsLeft: number, code: string, direction: Direction | null = null, ) { super(ComponentNames.LambdaSpawn); this.spawnsLeft = spawnsLeft; this.direction = direction; this.code = code; } public spawn(direction: Direction) { if (this.spawnsLeft <= 0) { return; } this.direction = direction; this.spawnsLeft -= 1; } }