forked from noxious/client
Worked on zones
This commit is contained in:
@ -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
|
||||
}
|
||||
}
|
||||
})
|
||||
|
Reference in New Issue
Block a user