import type IMap from '@/engine/Map/IMap' import Player from '@/engine/Player/Player' import type { Character } from '@/types' export default class Map implements IMap { id: number name: string width: number height: number data: any characters: Character[] constructor(id: number, name: string, width: number, height: number, data: any, characters: Character[]) { this.id = id this.name = name this.width = width this.height = height this.data = data this.characters = characters } public addCharacter(character: Character) { this.characters.push(character) } public removeCharacter(character: Character) { this.characters = this.characters.filter((c: Character) => c.id !== character.id) } public moveCharacter(character: Character, x: number, y: number) { const index = this.characters.findIndex((c: Character) => c.id === character.id) this.characters[index].position_x = x this.characters[index].position_y = y } }