Implemented tap vs hold drawing setting
This commit is contained in:
parent
85537840ab
commit
ba90982e35
@ -21,7 +21,7 @@ const mapTiles = useTemplateRef('mapTiles')
|
|||||||
const mapObjects = useTemplateRef('mapObjects')
|
const mapObjects = useTemplateRef('mapObjects')
|
||||||
const eventTiles = useTemplateRef('eventTiles')
|
const eventTiles = useTemplateRef('eventTiles')
|
||||||
|
|
||||||
function handlePointer(pointer: Phaser.Input.Pointer) {
|
function handlePointerDown(pointer: Phaser.Input.Pointer) {
|
||||||
if (!mapTiles.value || !mapObjects.value || !eventTiles.value) return
|
if (!mapTiles.value || !mapObjects.value || !eventTiles.value) return
|
||||||
|
|
||||||
// Check if left mouse button is pressed
|
// 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(() => {
|
onMounted(() => {
|
||||||
scene.input.on(Phaser.Input.Events.POINTER_MOVE, handlePointer)
|
scene.input.on(Phaser.Input.Events.POINTER_DOWN, handlePointerDown)
|
||||||
scene.input.on(Phaser.Input.Events.POINTER_DOWN, handlePointer)
|
scene.input.on(Phaser.Input.Events.POINTER_MOVE, handlePointerMove)
|
||||||
|
scene.input.on(Phaser.Input.Events.POINTER_UP, handlePointerUp)
|
||||||
})
|
})
|
||||||
|
|
||||||
onUnmounted(() => {
|
onUnmounted(() => {
|
||||||
scene.input.off(Phaser.Input.Events.POINTER_MOVE, handlePointer)
|
scene.input.off(Phaser.Input.Events.POINTER_DOWN, handlePointerDown)
|
||||||
scene.input.off(Phaser.Input.Events.POINTER_DOWN, handlePointer)
|
scene.input.off(Phaser.Input.Events.POINTER_MOVE, handlePointerMove)
|
||||||
|
scene.input.off(Phaser.Input.Events.POINTER_UP, handlePointerUp)
|
||||||
mapEditor.reset()
|
mapEditor.reset()
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
@ -73,7 +73,7 @@
|
|||||||
<div class="w-px bg-cyan"></div>
|
<div class="w-px bg-cyan"></div>
|
||||||
|
|
||||||
<label class="my-auto gap-0" for="checkbox">Continuous Drawing</label>
|
<label class="my-auto gap-0" for="checkbox">Continuous Drawing</label>
|
||||||
<input type="checkbox" />
|
<input @change="handleCheck" v-model="checkboxValue" type="checkbox"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="toolbar fixed bottom-0 right-0 m-3 rounded flex bg-gray solid border-solid border-2 border-gray-500 text-gray-300 p-1.5 px-3 h-10 space-x-2">
|
<div class="toolbar fixed bottom-0 right-0 m-3 rounded flex bg-gray solid border-solid border-2 border-gray-500 text-gray-300 p-1.5 px-3 h-10 space-x-2">
|
||||||
@ -105,6 +105,8 @@ let selectEraserOpen = ref(false)
|
|||||||
let tileListShown = ref(false)
|
let tileListShown = ref(false)
|
||||||
let mapObjectListShown = ref(false)
|
let mapObjectListShown = ref(false)
|
||||||
|
|
||||||
|
let checkboxValue = ref(false)
|
||||||
|
|
||||||
defineExpose({ tileListShown, mapObjectListShown })
|
defineExpose({ tileListShown, mapObjectListShown })
|
||||||
|
|
||||||
// drawMode
|
// drawMode
|
||||||
@ -131,6 +133,10 @@ function setEraserMode() {
|
|||||||
selectEraserOpen.value = false
|
selectEraserOpen.value = false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function handleCheck() {
|
||||||
|
mapEditor.setInputMode(checkboxValue.value ? 'hold' : 'tap')
|
||||||
|
}
|
||||||
|
|
||||||
function handleModeClick(mode: string, type: 'pencil' | 'eraser') {
|
function handleModeClick(mode: string, type: 'pencil' | 'eraser') {
|
||||||
setDrawMode(mode)
|
setDrawMode(mode)
|
||||||
type === 'pencil' ? setPencilMode() : setEraserMode()
|
type === 'pencil' ? setPencilMode() : setEraserMode()
|
||||||
|
@ -12,8 +12,7 @@
|
|||||||
@open-maps="mapModal?.open"
|
@open-maps="mapModal?.open"
|
||||||
@open-settings="mapSettingsModal?.open"
|
@open-settings="mapSettingsModal?.open"
|
||||||
@close-editor="mapEditor.toggleActive"
|
@close-editor="mapEditor.toggleActive"
|
||||||
@close-lists="tileModal?.close"
|
@close-lists="closeLists"
|
||||||
@closeLists="objectModal?.close"
|
|
||||||
@open-tile-list="tileModal?.open"
|
@open-tile-list="tileModal?.open"
|
||||||
@open-map-object-list="objectModal?.open"
|
@open-map-object-list="objectModal?.open"
|
||||||
/>
|
/>
|
||||||
@ -114,6 +113,11 @@ function save() {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function closeLists() {
|
||||||
|
tileModal.value?.close()
|
||||||
|
objectModal.value?.close()
|
||||||
|
}
|
||||||
|
|
||||||
function clear() {
|
function clear() {
|
||||||
if (!mapEditor.currentMap.value) return
|
if (!mapEditor.currentMap.value) return
|
||||||
|
|
||||||
|
@ -12,6 +12,7 @@ const currentMap = ref<Map | null>(null)
|
|||||||
const active = ref(false)
|
const active = ref(false)
|
||||||
const tool = ref('move')
|
const tool = ref('move')
|
||||||
const drawMode = ref('tile')
|
const drawMode = ref('tile')
|
||||||
|
const inputMode = ref('tap')
|
||||||
const selectedTile = ref('')
|
const selectedTile = ref('')
|
||||||
const selectedMapObject = ref<MapObject | null>(null)
|
const selectedMapObject = ref<MapObject | null>(null)
|
||||||
const shouldClearTiles = ref(false)
|
const shouldClearTiles = ref(false)
|
||||||
@ -53,6 +54,10 @@ export function useMapEditorComposable() {
|
|||||||
drawMode.value = mode
|
drawMode.value = mode
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const setInputMode = (mode: string) => {
|
||||||
|
inputMode.value = mode
|
||||||
|
}
|
||||||
|
|
||||||
const setSelectedTile = (tile: string) => {
|
const setSelectedTile = (tile: string) => {
|
||||||
selectedTile.value = tile
|
selectedTile.value = tile
|
||||||
}
|
}
|
||||||
@ -76,6 +81,7 @@ export function useMapEditorComposable() {
|
|||||||
const reset = () => {
|
const reset = () => {
|
||||||
tool.value = 'move'
|
tool.value = 'move'
|
||||||
drawMode.value = 'tile'
|
drawMode.value = 'tile'
|
||||||
|
inputMode.value = 'tap'
|
||||||
selectedTile.value = ''
|
selectedTile.value = ''
|
||||||
selectedMapObject.value = null
|
selectedMapObject.value = null
|
||||||
shouldClearTiles.value = false
|
shouldClearTiles.value = false
|
||||||
@ -87,6 +93,7 @@ export function useMapEditorComposable() {
|
|||||||
active,
|
active,
|
||||||
tool,
|
tool,
|
||||||
drawMode,
|
drawMode,
|
||||||
|
inputMode,
|
||||||
selectedTile,
|
selectedTile,
|
||||||
selectedMapObject,
|
selectedMapObject,
|
||||||
shouldClearTiles,
|
shouldClearTiles,
|
||||||
@ -99,6 +106,7 @@ export function useMapEditorComposable() {
|
|||||||
toggleActive,
|
toggleActive,
|
||||||
setTool,
|
setTool,
|
||||||
setDrawMode,
|
setDrawMode,
|
||||||
|
setInputMode,
|
||||||
setSelectedTile,
|
setSelectedTile,
|
||||||
setSelectedMapObject,
|
setSelectedMapObject,
|
||||||
setTeleportSettings,
|
setTeleportSettings,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user