Worked on zones

This commit is contained in:
2024-06-03 20:23:54 +02:00
parent bee03c5ed5
commit bcb21ce916
3 changed files with 19 additions and 21 deletions

View File

@ -1,30 +1,34 @@
import { defineStore } from 'pinia'
import type { Character } from '@/types'
export const useZoneStore = defineStore('zone', {
state: () => ({
loaded: false,
tiles: undefined,
players: {}
characters: [] as Character[]
}),
getters: {
isLoaded: (state) => state.loaded,
getTiles: (state) => state.tiles,
getPlayers: (state) => state.players
getCharacters: (state) => state.characters
},
actions: {
loadTiles(tiles: any) {
this.tiles = tiles
this.loaded = true
},
addPlayers(player: any) {
this.players = player
setCharacters(characters: Character[]) {
this.characters = characters
},
addPlayer(player: any) {
this.players[player.id] = player
console.log('Player added:', player)
addCharacter(character: Character) {
this.characters.push(character)
},
removePlayer(playerId: any) {
delete this.players[playerId]
removeCharacter(character: Character) {
this.characters = this.characters.filter((c: Character) => c.id !== character.id)
},
updateCharacter(character: Character) {
const index = this.characters.findIndex((c: Character) => c.id === character.id)
this.characters[index] = character
}
}
})