{"version":3,"file":"js/161.8181db92.js","mappings":"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","sources":["webpack://wavelovers/./src/models/PatternUnit.ts","webpack://wavelovers/./src/views/ManualView.vue?6121","webpack://wavelovers/./src/components/AppManual.vue?a3b9","webpack://wavelovers/./src/components/AppManual.vue?5cf9","webpack://wavelovers/./src/components/AppManual.vue","webpack://wavelovers/./src/views/ManualView.vue?67f9","webpack://wavelovers/./src/views/ManualView.vue"],"sourcesContent":["import IPatternUnit from \"@/models/IPatternUnit\";\r\n\r\nclass PatternUnit implements IPatternUnit {\r\n\r\n startDelay: number;\r\n duration: number;\r\n weakMagnitude: number;\r\n strongMagnitude: number;\r\n\r\n constructor(\r\n startDelay: number, duration: number,\r\n weakMagnitude: number, strongMagnitude: number\r\n ) {\r\n this.startDelay = startDelay;\r\n this.duration = duration;\r\n this.weakMagnitude = weakMagnitude;\r\n this.strongMagnitude = strongMagnitude;\r\n }\r\n}\r\n\r\nexport default PatternUnit;\r\n\r\n","import { createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = /*#__PURE__*/_createElementVNode(\"h1\", { class: \"visually-hidden\" }, \"Wavelovers � Manual\", -1)\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_AppManual = _resolveComponent(\"AppManual\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _hoisted_1,\n _createVNode(_component_AppManual)\n ], 64))\n}","import { resolveComponent as _resolveComponent, createVNode as _createVNode, createElementVNode as _createElementVNode, vModelText as _vModelText, withDirectives as _withDirectives, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, withCtx as _withCtx, createStaticVNode as _createStaticVNode, Fragment as _Fragment, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"content-item app-manual\" }\nconst _hoisted_2 = { class: \"manual-form__input\" }\nconst _hoisted_3 = /*#__PURE__*/_createElementVNode(\"span\", null, \"Weak Magnitude\", -1)\nconst _hoisted_4 = { class: \"manual-form__input\" }\nconst _hoisted_5 = /*#__PURE__*/_createElementVNode(\"span\", null, \"Strong Magnitude\", -1)\nconst _hoisted_6 = /*#__PURE__*/_createStaticVNode(\"
RT – Vibrate
A – Combined Mode
X – Strong Mode
Y – Light Mode
B – Lock Intensity
\", 1)\nconst _hoisted_7 = /*#__PURE__*/_createTextVNode(\"Press any gamepad button or connect a new gamepad to vibrate.\")\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_NavigationList = _resolveComponent(\"NavigationList\")!\n const _component_GamepadList = _resolveComponent(\"GamepadList\")!\n const _component_MessageItem = _resolveComponent(\"MessageItem\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createVNode(_component_NavigationList),\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"label\", _hoisted_2, [\n _hoisted_3,\n _withDirectives(_createElementVNode(\"input\", {\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.weakMagnitude) = $event)),\n type: \"range\",\n required: \"\",\n disabled: \"\",\n min: \"0.0\",\n max: \"1.0\",\n step: \"0.01\"\n }, null, 512), [\n [_vModelText, _ctx.weakMagnitude]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_4, [\n _hoisted_5,\n _withDirectives(_createElementVNode(\"input\", {\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((_ctx.strongMagnitude) = $event)),\n type: \"range\",\n required: \"\",\n disabled: \"\",\n min: \"0.0\",\n max: \"1.0\",\n step: \"0.01\"\n }, null, 512), [\n [_vModelText, _ctx.strongMagnitude]\n ])\n ]),\n _hoisted_6\n ]),\n (_ctx.gamepads.length > 0)\n ? (_openBlock(), _createBlock(_component_GamepadList, {\n key: 0,\n gamepads: _ctx.gamepads\n }, null, 8, [\"gamepads\"]))\n : (_openBlock(), _createBlock(_component_MessageItem, { key: 1 }, {\n default: _withCtx(() => [\n _hoisted_7\n ]),\n _: 1\n }))\n ], 64))\n}","\r\n import { defineComponent } from 'vue';\r\n import store from '@/store/index';\r\n import NavigationList from '@/components/NavigationList.vue';\r\n import GamepadList from '@/components/GamepadList.vue';\r\n import MessageItem from '@/components/MessageItem.vue';\r\n import Vibrator from '@/models/Vibrator';\r\n import TPatternUnit from '@/models/TPatternUnit';\r\n import PatternUnit from '@/models/PatternUnit';\r\n\r\n export default defineComponent({\r\n name: 'AppCustom',\r\n components: {\r\n NavigationList: NavigationList,\r\n GamepadList: GamepadList,\r\n MessageItem: MessageItem,\r\n },\r\n data: () => {\r\n return {\r\n timestamp: 0 as number,\r\n interval: 0 as number,\r\n mode: 0 as number,\r\n lock: false as boolean,\r\n startDelay: 0 as number,\r\n duration: 260 as number,\r\n weakMagnitude: 0 as number,\r\n strongMagnitude: 0 as number,\r\n };\r\n },\r\n computed: {\r\n gamepads: function (): Vibrator[] {\r\n const timestamp: number = this.timestamp;\r\n const result: Vibrator[] = store.getters.gamepads as Vibrator[];\r\n result.forEach((item) => {\r\n item.interval = timestamp;\r\n })\r\n return result;\r\n },\r\n },\r\n methods: {\r\n start: function (): void {\r\n const pattern: TPatternUnit = new PatternUnit(\r\n this.startDelay,\r\n this.duration,\r\n this.weakMagnitude,\r\n this.strongMagnitude,\r\n );\r\n store.dispatch('vibrate', pattern);\r\n },\r\n stop: function (): void {\r\n store.dispatch('setIsActive', false);\r\n store.dispatch('setMode', 0);\r\n store.dispatch('reset');\r\n },\r\n eventLoop: function (): void {\r\n this.updateComputed();\r\n this.updateMode();\r\n this.updatePattern();\r\n this.handle();\r\n },\r\n updateComputed: function (): void {\r\n this.timestamp = Date.now();\r\n },\r\n updateMode: function (): void {\r\n if (this.gamepads.length > 0) {\r\n if (this.gamepads[0].unit.buttons[1].pressed === true) {\r\n this.lock = !this.lock;\r\n }\r\n if (this.lock === false) {\r\n if (this.gamepads[0].unit.buttons[0].pressed === true) {\r\n this.mode = 0;\r\n }\r\n if (this.gamepads[0].unit.buttons[2].pressed === true) {\r\n this.mode = 1;\r\n }\r\n if (this.gamepads[0].unit.buttons[3].pressed === true) {\r\n this.mode = 2;\r\n }\r\n }\r\n }\r\n },\r\n updatePattern: function (): void {\r\n if (this.gamepads.length > 0) {\r\n if (this.lock === false) {\r\n if (this.mode === 0) {\r\n this.weakMagnitude = this.gamepads[0].unit.buttons[7].value;\r\n this.strongMagnitude = this.gamepads[0].unit.buttons[7].value;\r\n }\r\n if (this.mode === 1) {\r\n this.weakMagnitude = 0;\r\n this.strongMagnitude = this.gamepads[0].unit.buttons[7].value;\r\n }\r\n if (this.mode === 2) {\r\n this.weakMagnitude = this.gamepads[0].unit.buttons[7].value;\r\n this.strongMagnitude = 0;\r\n }\r\n }\r\n }\r\n },\r\n handle: function (): void {\r\n if (this.gamepads.length > 0) {\r\n this.gamepads.forEach((gamepad) => {\r\n if (gamepad.unit.buttons[7].value > 0 || this.lock === true) {\r\n this.start();\r\n } else {\r\n this.stop();\r\n }\r\n });\r\n }\r\n },\r\n },\r\n mounted() {\r\n this.interval = setInterval(this.eventLoop, 250);\r\n },\r\n unmounted() {\r\n clearInterval(this.interval);\r\n },\r\n });\r\n","import { render } from \"./AppManual.vue?vue&type=template&id=7b346151&ts=true\"\nimport script from \"./AppManual.vue?vue&type=script&lang=ts\"\nexport * from \"./AppManual.vue?vue&type=script&lang=ts\"\n\nimport \"./AppManual.vue?vue&type=style&index=0&id=7b346151&lang=scss\"\n\nimport exportComponent from \"E:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n import { defineComponent } from 'vue';\r\n import AppManual from '@/components/AppManual.vue';\r\n\r\n export default defineComponent({\r\n name: 'ManualView',\r\n components: {\r\n AppManual: AppManual,\r\n },\r\n });\r\n","import { render } from \"./ManualView.vue?vue&type=template&id=4fb88369&ts=true\"\nimport script from \"./ManualView.vue?vue&type=script&lang=ts\"\nexport * from \"./ManualView.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"E:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["PatternUnit","constructor","startDelay","duration","weakMagnitude","strongMagnitude","this","_hoisted_1","_createElementVNode","class","render","_ctx","_cache","$props","$setup","$data","$options","_component_AppManual","_resolveComponent","_openBlock","_createElementBlock","_Fragment","_createVNode","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_createStaticVNode","_hoisted_7","_createTextVNode","_component_NavigationList","_component_GamepadList","_component_MessageItem","_withDirectives","$event","type","required","disabled","min","max","step","_vModelText","gamepads","length","_createBlock","key","default","_withCtx","_","defineComponent","name","components","NavigationList","GamepadList","MessageItem","data","timestamp","interval","mode","lock","computed","result","store","forEach","item","methods","start","pattern","stop","eventLoop","updateComputed","updateMode","updatePattern","handle","Date","now","unit","buttons","pressed","value","gamepad","mounted","setInterval","unmounted","clearInterval","__exports__","AppManual"],"sourceRoot":""}