import { ref } from 'vue' import { defineStore } from 'pinia' import type { Tile, Object, Sprite, CharacterType } from '@/types' export const useAssetManagerStore = defineStore('assetManager', () => { const tileList = ref([]) const selectedTile = ref(null) const objectList = ref([]) const selectedObject = ref(null) const spriteList = ref([]) const selectedSprite = ref(null) const characterTypeList = ref([]) const selectedCharacterType = ref(null) function setTileList(tiles: Tile[]) { tileList.value = tiles } function setSelectedTile(tile: Tile | null) { selectedTile.value = tile } function setObjectList(objects: Object[]) { objectList.value = objects } function setSelectedObject(object: Object | null) { selectedObject.value = object } function setSpriteList(sprites: Sprite[]) { spriteList.value = sprites } function setSelectedSprite(sprite: Sprite | null) { selectedSprite.value = sprite } function setCharacterTypeList(characterTypes: CharacterType[]) { characterTypeList.value = characterTypes } function setSelectedCharacterType(characterType: CharacterType | null) { selectedCharacterType.value = characterType } return { tileList, selectedTile, objectList, selectedObject, spriteList, selectedSprite, characterTypeList, selectedCharacterType, setTileList, setSelectedTile, setObjectList, setCharacterTypeList, setSelectedObject, setSpriteList, setSelectedSprite, setSelectedCharacterType } })