diff --git a/client/src/composables/useEngine.ts b/client/src/composables/useEngine.ts index 2cc3b38..f434b33 100644 --- a/client/src/composables/useEngine.ts +++ b/client/src/composables/useEngine.ts @@ -1,16 +1,30 @@ +import { useState } from '#app' + export interface useEngine { start(): void stop(): void } export default (): useEngine => { + const isActive = useState('engine__is-active', () => false) + const shouldStop = useState('engine__should-stop', () => false) + return { start: (): void => { + if (isActive.value && !shouldStop.value) { + console.warn('attempt to start already running engine!') + return + } + isActive.value = true + shouldStop.value = false console.log('start engine') }, stop: (): void => { - console.log('stop engine') + if (isActive.value) { + shouldStop.value = true + console.log('shut down engine') + } }, } } \ No newline at end of file