forked from noxious/client
Almost finalised refactoring
This commit is contained in:
@ -1,4 +1,4 @@
|
||||
import type { CharacterHair, CharacterType, Item, Object, Sprite, Tile } from '@/application/types'
|
||||
import type { CharacterHair, CharacterType, Item, MapObject, Sprite, Tile } from '@/application/types'
|
||||
import { defineStore } from 'pinia'
|
||||
import { ref } from 'vue'
|
||||
|
||||
@ -6,8 +6,8 @@ export const useAssetManagerStore = defineStore('assetManager', () => {
|
||||
const tileList = ref<Tile[]>([])
|
||||
const selectedTile = ref<Tile | null>(null)
|
||||
|
||||
const objectList = ref<Object[]>([])
|
||||
const selectedObject = ref<Object | null>(null)
|
||||
const mapObjectList = ref<MapObject[]>([])
|
||||
const selectedMapObject = ref<MapObject | null>(null)
|
||||
|
||||
const spriteList = ref<Sprite[]>([])
|
||||
const selectedSprite = ref<Sprite | null>(null)
|
||||
@ -29,12 +29,12 @@ export const useAssetManagerStore = defineStore('assetManager', () => {
|
||||
selectedTile.value = tile
|
||||
}
|
||||
|
||||
function setObjectList(objects: Object[]) {
|
||||
objectList.value = objects
|
||||
function setMapObjectList(objects: MapObject[]) {
|
||||
mapObjectList.value = objects
|
||||
}
|
||||
|
||||
function setSelectedObject(object: Object | null) {
|
||||
selectedObject.value = object
|
||||
function setSelectedObject(object: MapObject | null) {
|
||||
selectedMapObject.value = object
|
||||
}
|
||||
|
||||
function setSpriteList(sprites: Sprite[]) {
|
||||
@ -72,8 +72,8 @@ export const useAssetManagerStore = defineStore('assetManager', () => {
|
||||
return {
|
||||
tileList,
|
||||
selectedTile,
|
||||
objectList,
|
||||
selectedObject,
|
||||
mapObjectList,
|
||||
selectedMapObject,
|
||||
spriteList,
|
||||
selectedSprite,
|
||||
characterTypeList,
|
||||
@ -84,9 +84,9 @@ export const useAssetManagerStore = defineStore('assetManager', () => {
|
||||
selectedItem,
|
||||
setTileList,
|
||||
setSelectedTile,
|
||||
setObjectList,
|
||||
setMapObjectList,
|
||||
setCharacterTypeList,
|
||||
setSelectedObject,
|
||||
setSelectedMapObject: setSelectedObject,
|
||||
setSpriteList,
|
||||
setSelectedSprite,
|
||||
setSelectedCharacterType,
|
||||
|
@ -1,4 +1,4 @@
|
||||
import type { Object, Tile, Map, MapEffect, PlacedMapObject } from '@/application/types'
|
||||
import type { Map, MapEffect, MapObject, PlacedMapObject, Tile } from '@/application/types'
|
||||
import { useGameStore } from '@/stores/gameStore'
|
||||
import { defineStore } from 'pinia'
|
||||
|
||||
@ -19,11 +19,11 @@ export const useMapEditorStore = defineStore('mapEditor', {
|
||||
eraserMode: 'tile',
|
||||
mapList: [] as Map[],
|
||||
tileList: [] as Tile[],
|
||||
objectList: [] as Object[],
|
||||
mapObjectList: [] as MapObject[],
|
||||
selectedTile: '',
|
||||
selectedObject: null as Object | null,
|
||||
selectedObject: null as MapObject | null,
|
||||
isTileListModalShown: false,
|
||||
isObjectListModalShown: false,
|
||||
isMapObjectListModalShown: false,
|
||||
isMapListModalShown: false,
|
||||
isCreateMapModalShown: false,
|
||||
isSettingsModalShown: false,
|
||||
@ -85,13 +85,13 @@ export const useMapEditorStore = defineStore('mapEditor', {
|
||||
setTileList(tiles: Tile[]) {
|
||||
this.tileList = tiles
|
||||
},
|
||||
setObjectList(objects: Object[]) {
|
||||
this.objectList = objects
|
||||
setMapObjectList(objects: MapObject[]) {
|
||||
this.mapObjectList = objects
|
||||
},
|
||||
setSelectedTile(tile: string) {
|
||||
this.selectedTile = tile
|
||||
},
|
||||
setSelectedObject(object: Object) {
|
||||
setSelectedObject(object: MapObject) {
|
||||
this.selectedObject = object
|
||||
},
|
||||
toggleSettingsModal() {
|
||||
@ -118,13 +118,13 @@ export const useMapEditorStore = defineStore('mapEditor', {
|
||||
if (resetMap) this.map = null
|
||||
this.mapList = []
|
||||
this.tileList = []
|
||||
this.objectList = []
|
||||
this.mapObjectList = []
|
||||
this.tool = 'move'
|
||||
this.drawMode = 'tile'
|
||||
this.selectedTile = ''
|
||||
this.selectedObject = null
|
||||
this.isTileListModalShown = false
|
||||
this.isObjectListModalShown = false
|
||||
this.isMapObjectListModalShown = false
|
||||
this.isSettingsModalShown = false
|
||||
this.isMapListModalShown = false
|
||||
this.isCreateMapModalShown = false
|
||||
|
@ -1,4 +1,4 @@
|
||||
import type { Map, MapCharacter } from '@/application/types'
|
||||
import type { Map, MapCharacter, UUID } from '@/application/types'
|
||||
import { defineStore } from 'pinia'
|
||||
|
||||
export const useMapStore = defineStore('map', {
|
||||
@ -11,7 +11,7 @@ export const useMapStore = defineStore('map', {
|
||||
},
|
||||
getters: {
|
||||
getCharacterById: (state) => {
|
||||
return (id: number) => state.characters.find((char) => char.character.id === id)
|
||||
return (id: UUID) => state.characters.find((char) => char.character.id === id)
|
||||
},
|
||||
getCharacterCount: (state) => {
|
||||
return state.characters.length
|
||||
@ -34,13 +34,13 @@ export const useMapStore = defineStore('map', {
|
||||
const index = this.characters.findIndex((char) => char.character.id === updatedCharacter.character.id)
|
||||
if (index !== -1) this.characters[index] = updatedCharacter
|
||||
},
|
||||
removeCharacter(characterId: number) {
|
||||
removeCharacter(characterId: UUID) {
|
||||
this.characters = this.characters.filter((char) => char.character.id !== characterId)
|
||||
},
|
||||
setCharacterLoaded(loaded: boolean) {
|
||||
this.characterLoaded = loaded
|
||||
},
|
||||
updateCharacterPosition(data: { characterId: number; positionX: number; positionY: number; rotation: number; isMoving: boolean }) {
|
||||
updateCharacterPosition(data: { characterId: UUID; positionX: number; positionY: number; rotation: number; isMoving: boolean }) {
|
||||
const character = this.characters.find((char) => char.character.id === data.characterId)
|
||||
if (character) {
|
||||
character.character.positionX = data.positionX
|
||||
|
Reference in New Issue
Block a user