1
0
forked from noxious/client
noxious_client/src/stores/mapEditorStore.ts

59 lines
1.3 KiB
TypeScript

import type { MapObject, Map as MapT } from '@/application/types'
import { defineStore } from 'pinia'
export type TeleportSettings = {
toMap: string
toPositionX: number
toPositionY: number
toRotation: number
}
export const useMapEditorStore = defineStore('mapEditor', {
state: () => {
return {
active: true,
tool: 'move',
drawMode: 'tile',
selectedTile: '',
selectedMapObject: null as MapObject | null,
shouldClearTiles: false,
teleportSettings: {
toMap: '',
toPositionX: 0,
toPositionY: 0,
toRotation: 0
} as TeleportSettings
}
},
actions: {
setTool(tool: string) {
this.tool = tool
},
setDrawMode(mode: string) {
this.drawMode = mode
},
setSelectedTile(tile: string) {
this.selectedTile = tile
},
setSelectedMapObject(object: MapObject) {
this.selectedMapObject = object
},
setTeleportSettings(teleportSettings: TeleportSettings) {
this.teleportSettings = teleportSettings
},
triggerClearTiles() {
this.shouldClearTiles = true
},
resetClearTilesFlag() {
this.shouldClearTiles = false
},
reset() {
this.tool = 'move'
this.drawMode = 'tile'
this.selectedTile = ''
this.selectedMapObject = null
this.shouldClearTiles = false
}
}
})