From 6897ad0f1eb7b4eaab12d0a74d87696d9f328f21 Mon Sep 17 00:00:00 2001 From: Dennis Postma Date: Sun, 16 Mar 2025 01:21:31 +0100 Subject: [PATCH] Renamed file, removed redundant fields --- .../partials/sprite/SpriteDetails.vue | 90 ++++----- .../sprite/partials/SpriteImagesInput.vue | 185 ------------------ .../sprite/partials/SpriteImagesPreview.vue | 38 ++++ 3 files changed, 75 insertions(+), 238 deletions(-) delete mode 100644 src/components/gameMaster/assetManager/partials/sprite/partials/SpriteImagesInput.vue create mode 100644 src/components/gameMaster/assetManager/partials/sprite/partials/SpriteImagesPreview.vue diff --git a/src/components/gameMaster/assetManager/partials/sprite/SpriteDetails.vue b/src/components/gameMaster/assetManager/partials/sprite/SpriteDetails.vue index 7ff430b..feedb57 100644 --- a/src/components/gameMaster/assetManager/partials/sprite/SpriteDetails.vue +++ b/src/components/gameMaster/assetManager/partials/sprite/SpriteDetails.vue @@ -28,39 +28,19 @@ @@ -70,8 +50,8 @@ import { SocketEvent } from '@/application/enums' import type { Sprite, SpriteAction } from '@/application/types' import { downloadCache, uuidv4 } from '@/application/utilities' -import SpriteActionsInput from '@/components/gameMaster/assetManager/partials/sprite/partials/SpriteImagesInput.vue' import SpriteEditor from '@/components/gameMaster/assetManager/partials/sprite/partials/SpriteEditor.vue' +import SpriteImagesPreview from '@/components/gameMaster/assetManager/partials/sprite/partials/SpriteImagesPreview.vue' import Accordion from '@/components/utilities/Accordion.vue' import { socketManager } from '@/managers/SocketManager' import { SpriteStorage } from '@/storage/storages' @@ -81,11 +61,11 @@ import { computed, onBeforeUnmount, onMounted, ref, watch } from 'vue' const assetManagerStore = useAssetManagerStore() const selectedSprite = computed(() => assetManagerStore.selectedSprite) - +const tempOffsetData = ref>(new Map()) const spriteName = ref('') const spriteActions = ref([]) -const isModalOpen = ref(false) -const selectedAction = ref(null) + +const openEditors = ref(new Map()) if (!selectedSprite.value) { console.error('No sprite selected') @@ -192,37 +172,41 @@ function sortSpriteActions(actions: SpriteAction[]): SpriteAction[] { } function openEditorModal(action: SpriteAction) { - selectedAction.value = action - isModalOpen.value = true + const newOpenEditors = new Map(openEditors.value) + newOpenEditors.set(action.id, { action, isOpen: true }) + openEditors.value = newOpenEditors } -function updateFrameRate(value: number) { - if (selectedAction.value) { - selectedAction.value.frameRate = value - } +function updateFrameRate(action: SpriteAction, value: number) { + action.frameRate = value } -const tempOffsetData = ref<{ index: number | undefined; offset: { x: number; y: number } | undefined }>({ - index: undefined, - offset: undefined -}) +function handleEditorModalClose(action: SpriteAction, isOpen: boolean) { + if (isOpen) return + const newOpenEditors = new Map(openEditors.value) + newOpenEditors.delete(action.id) + openEditors.value = newOpenEditors +} function handleTempOffsetChange(action: SpriteAction, index: number, offset: { x: number; y: number }) { - if (selectedAction.value === action) { - tempOffsetData.value = { index, offset } - } + const newTempOffsetData = new Map(tempOffsetData.value) + newTempOffsetData.set(action.id, { index, offset }) + tempOffsetData.value = newTempOffsetData +} + +function getTempOffsetIndex(action: SpriteAction): number | undefined { + return tempOffsetData.value.get(action.id)?.index +} + +function getTempOffset(action: SpriteAction): { x: number; y: number } | undefined { + return tempOffsetData.value.get(action.id)?.offset } watch(selectedSprite, (sprite: Sprite | null) => { if (!sprite) return spriteName.value = sprite.name spriteActions.value = sortSpriteActions(sprite.spriteActions) -}) - -watch(isModalOpen, (newValue) => { - if (!newValue) { - selectedAction.value = null - } + openEditors.value = new Map() }) onMounted(() => { diff --git a/src/components/gameMaster/assetManager/partials/sprite/partials/SpriteImagesInput.vue b/src/components/gameMaster/assetManager/partials/sprite/partials/SpriteImagesInput.vue deleted file mode 100644 index 79f1f44..0000000 --- a/src/components/gameMaster/assetManager/partials/sprite/partials/SpriteImagesInput.vue +++ /dev/null @@ -1,185 +0,0 @@ - - - diff --git a/src/components/gameMaster/assetManager/partials/sprite/partials/SpriteImagesPreview.vue b/src/components/gameMaster/assetManager/partials/sprite/partials/SpriteImagesPreview.vue new file mode 100644 index 0000000..2cebb67 --- /dev/null +++ b/src/components/gameMaster/assetManager/partials/sprite/partials/SpriteImagesPreview.vue @@ -0,0 +1,38 @@ + + +