Worked on zone manager

This commit is contained in:
2024-06-11 01:10:22 +02:00
parent 399e994bbe
commit 8e174a063a
29 changed files with 658 additions and 379 deletions

View File

@ -11,12 +11,6 @@ export const useSocketStore: StoreDefinition = defineStore('socket', {
user: null as User | null,
character: null as Character | null
}),
getters: {
getToken: (state: any) => state.token as string,
getConnection: (state: any) => state.connection as Socket,
getUser: (state: any) => state.user as User,
getCharacter: (state: any) => state.character as Character
},
actions: {
initConnection() {
this.connection = io(config.server_endpoint, {

View File

@ -3,21 +3,12 @@ import type { Character } from '@/types'
export const useZoneStore = defineStore('zone', {
state: () => ({
loaded: false,
tiles: undefined,
characters: [] as Character[],
editorIsOpen: true
tiles: [] as number[][],
characters: [] as Character[]
}),
getters: {
isLoaded: (state) => state.loaded,
getTiles: (state) => state.tiles,
getCharacters: (state) => state.characters,
getEditorIsOpen: (state) => state.editorIsOpen
},
actions: {
loadTiles(tiles: any) {
setTiles(tiles: number[][]) {
this.tiles = tiles
this.loaded = true
},
setCharacters(characters: Character[]) {
this.characters = characters
@ -25,19 +16,13 @@ export const useZoneStore = defineStore('zone', {
addCharacter(character: Character) {
this.characters.push(character)
},
removeCharacter(character: Character) {
this.characters = this.characters.filter((c: Character) => c.id !== character.id)
},
updateCharacter(character: Character) {
const index = this.characters.findIndex((c) => c.id === character.id)
if (index !== -1) {
this.characters[index] = character
} else {
console.error(`Character with id ${character.id} not found`)
}
if (index === -1) return
this.characters[index] = character
},
setEditorIsOpen(isOpen: boolean) {
this.editorIsOpen = isOpen
removeCharacter(character: Character) {
this.characters = this.characters.filter((c: Character) => c.id !== character.id)
}
}
})

View File

@ -1,18 +1,20 @@
import { defineStore } from 'pinia'
import config from '@/config'
export const useZoneEditorStore = defineStore('zoneEditor', {
state: () => ({
loaded: false,
tiles: undefined,
active: true
}),
getters: {
isLoaded: (state) => state.loaded,
getTiles: (state) => state.tiles,
isActive: (state) => state.active
},
actions: {
loadTiles(tiles: any) {
this.tiles = tiles
this.loaded = true
},
toggleActive() {
this.active = !this.active
}
}
})
/**
* [[0,0,0,0,0,0,0,0,0,0],[0,1,1,1,1,1,1,1,1,0],[0,1,1,1,1,1,1,1,1,0],[0,1,1,1,1,1,1,1,1,0],[0,1,1,1,1,1,1,1,1,0],[0,1,1,1,1,1,1,1,1,0],[0,1,1,1,1,1,1,1,1,0],[0,1,1,1,1,1,1,1,1,0],[0,1,1,1,1,1,1,1,1,0],[0,0,0,0,0,0,0,0,0,0]]
*/