diff --git a/src/components/gameMaster/mapEditor/Map.vue b/src/components/gameMaster/mapEditor/Map.vue
index ff0eadb..505a2d9 100644
--- a/src/components/gameMaster/mapEditor/Map.vue
+++ b/src/components/gameMaster/mapEditor/Map.vue
@@ -21,7 +21,7 @@ const mapTiles = useTemplateRef('mapTiles')
const mapObjects = useTemplateRef('mapObjects')
const eventTiles = useTemplateRef('eventTiles')
-function handlePointer(pointer: Phaser.Input.Pointer) {
+function handlePointerDown(pointer: Phaser.Input.Pointer) {
if (!mapTiles.value || !mapObjects.value || !eventTiles.value) return
// Check if left mouse button is pressed
@@ -41,14 +41,26 @@ function handlePointer(pointer: Phaser.Input.Pointer) {
}
}
+function handlePointerMove(pointer: Phaser.Input.Pointer) {
+ if (mapEditor.inputMode.value === 'hold') {
+ handlePointerDown(pointer)
+ }
+}
+
+function handlePointerUp(pointer: Phaser.Input.Pointer) {
+
+}
+
onMounted(() => {
- scene.input.on(Phaser.Input.Events.POINTER_MOVE, handlePointer)
- scene.input.on(Phaser.Input.Events.POINTER_DOWN, handlePointer)
+ scene.input.on(Phaser.Input.Events.POINTER_DOWN, handlePointerDown)
+ scene.input.on(Phaser.Input.Events.POINTER_MOVE, handlePointerMove)
+ scene.input.on(Phaser.Input.Events.POINTER_UP, handlePointerUp)
})
onUnmounted(() => {
- scene.input.off(Phaser.Input.Events.POINTER_MOVE, handlePointer)
- scene.input.off(Phaser.Input.Events.POINTER_DOWN, handlePointer)
+ scene.input.off(Phaser.Input.Events.POINTER_DOWN, handlePointerDown)
+ scene.input.off(Phaser.Input.Events.POINTER_MOVE, handlePointerMove)
+ scene.input.off(Phaser.Input.Events.POINTER_UP, handlePointerUp)
mapEditor.reset()
})
diff --git a/src/components/gameMaster/mapEditor/partials/Toolbar.vue b/src/components/gameMaster/mapEditor/partials/Toolbar.vue
index 09e466e..5993a75 100644
--- a/src/components/gameMaster/mapEditor/partials/Toolbar.vue
+++ b/src/components/gameMaster/mapEditor/partials/Toolbar.vue
@@ -73,7 +73,7 @@
-
+
@@ -105,6 +105,8 @@ let selectEraserOpen = ref(false)
let tileListShown = ref(false)
let mapObjectListShown = ref(false)
+let checkboxValue = ref(false)
+
defineExpose({ tileListShown, mapObjectListShown })
// drawMode
@@ -131,6 +133,10 @@ function setEraserMode() {
selectEraserOpen.value = false
}
+function handleCheck() {
+ mapEditor.setInputMode(checkboxValue.value ? 'hold' : 'tap')
+}
+
function handleModeClick(mode: string, type: 'pencil' | 'eraser') {
setDrawMode(mode)
type === 'pencil' ? setPencilMode() : setEraserMode()
diff --git a/src/components/screens/MapEditor.vue b/src/components/screens/MapEditor.vue
index d967abe..40da3ff 100644
--- a/src/components/screens/MapEditor.vue
+++ b/src/components/screens/MapEditor.vue
@@ -12,8 +12,7 @@
@open-maps="mapModal?.open"
@open-settings="mapSettingsModal?.open"
@close-editor="mapEditor.toggleActive"
- @close-lists="tileModal?.close"
- @closeLists="objectModal?.close"
+ @close-lists="closeLists"
@open-tile-list="tileModal?.open"
@open-map-object-list="objectModal?.open"
/>
@@ -114,6 +113,11 @@ function save() {
})
}
+function closeLists() {
+ tileModal.value?.close()
+ objectModal.value?.close()
+}
+
function clear() {
if (!mapEditor.currentMap.value) return
diff --git a/src/composables/useMapEditorComposable.ts b/src/composables/useMapEditorComposable.ts
index ea2bd65..22c8db5 100644
--- a/src/composables/useMapEditorComposable.ts
+++ b/src/composables/useMapEditorComposable.ts
@@ -12,6 +12,7 @@ const currentMap = ref