64 lines
2.0 KiB
Vue
64 lines
2.0 KiB
Vue
<template></template>
|
|
|
|
<script setup lang="ts">
|
|
import { socketManager } from '@/managers/SocketManager'
|
|
import { login } from '@/services/authenticationService'
|
|
import { CharacterHairStorage, CharacterTypeStorage, MapObjectStorage, MapStorage, SoundStorage, SpriteStorage, TileStorage } from '@/storage/storages'
|
|
import { TextureStorage } from '@/storage/textureStorage'
|
|
import { useGameStore } from '@/stores/gameStore'
|
|
import { onMounted, onUnmounted } from 'vue'
|
|
|
|
const gameStore = useGameStore()
|
|
const mapStorage = new MapStorage()
|
|
const tileStorage = new TileStorage()
|
|
const mapObjectStorage = new MapObjectStorage()
|
|
const spriteStorage = new SpriteStorage()
|
|
const characterTypeStorage = new CharacterTypeStorage()
|
|
const characterHairStorage = new CharacterHairStorage()
|
|
const textureStorage = new TextureStorage()
|
|
const soundStorage = new SoundStorage()
|
|
|
|
let currentString = ''
|
|
|
|
async function handleKeyPress(event: KeyboardEvent) {
|
|
// Ignore if typing in input/textarea
|
|
if (document.activeElement?.tagName.toUpperCase() === 'INPUT' || document.activeElement?.tagName.toUpperCase() === 'TEXTAREA') {
|
|
return
|
|
}
|
|
|
|
currentString += event.key
|
|
|
|
// Do something when string matches
|
|
if (currentString.includes('reset')) {
|
|
await mapStorage.destroy()
|
|
await tileStorage.destroy()
|
|
await mapObjectStorage.destroy()
|
|
await spriteStorage.destroy()
|
|
await characterTypeStorage.destroy()
|
|
await characterHairStorage.destroy()
|
|
await textureStorage.destroy()
|
|
await soundStorage.destroy()
|
|
currentString = '' // Reset
|
|
}
|
|
|
|
if (currentString.includes('11')) {
|
|
if (socketManager.token) return
|
|
const response = await login('root', 'password')
|
|
|
|
if (response.success === undefined) {
|
|
return
|
|
}
|
|
socketManager.setToken(response.token)
|
|
gameStore.initConnection()
|
|
}
|
|
|
|
// Reset string after a certain amount of time
|
|
setTimeout(() => {
|
|
currentString = ''
|
|
}, 60000)
|
|
}
|
|
|
|
onMounted(() => window.addEventListener('keydown', handleKeyPress))
|
|
onUnmounted(() => window.removeEventListener('keydown', handleKeyPress))
|
|
</script>
|