Almost finalised refactoring

This commit is contained in:
2025-01-03 14:35:08 +01:00
parent 145143cdc5
commit 700bd57e67
29 changed files with 264 additions and 273 deletions

View File

@ -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,

View File

@ -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

View File

@ -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