1
0
forked from noxious/client

36 lines
996 B
TypeScript

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
}
}