From 445d0507642ec62c48daecccc7b0d5da1ae0dc0b Mon Sep 17 00:00:00 2001 From: Rune Harlyk Date: Tue, 18 Jul 2023 17:54:22 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=AA=BA=20Adds=20multible=20generic=20comp?= =?UTF-8?q?onents?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/components/Card.svelte | 3 +++ app/src/components/CardHeader.svelte | 1 + app/src/components/Controls.svelte | 40 ++++++++++++---------------- app/src/components/Input.svelte | 10 +++++++ app/src/components/Topbar.svelte | 12 ++++++--- app/src/components/index.ts | 3 +++ app/src/lib/store.ts | 8 +++++- 7 files changed, 49 insertions(+), 28 deletions(-) create mode 100644 app/src/components/Card.svelte create mode 100644 app/src/components/CardHeader.svelte create mode 100644 app/src/components/Input.svelte create mode 100644 app/src/components/index.ts diff --git a/app/src/components/Card.svelte b/app/src/components/Card.svelte new file mode 100644 index 0000000..7d45283 --- /dev/null +++ b/app/src/components/Card.svelte @@ -0,0 +1,3 @@ +
+ +
\ No newline at end of file diff --git a/app/src/components/CardHeader.svelte b/app/src/components/CardHeader.svelte new file mode 100644 index 0000000..5e06e43 --- /dev/null +++ b/app/src/components/CardHeader.svelte @@ -0,0 +1 @@ +

\ No newline at end of file diff --git a/app/src/components/Controls.svelte b/app/src/components/Controls.svelte index 0868d3c..5932c3e 100644 --- a/app/src/components/Controls.svelte +++ b/app/src/components/Controls.svelte @@ -3,20 +3,15 @@ import { onMount } from 'svelte'; import { throttler } from '../lib/throttle'; import { socket } from '../lib/socket'; + import { emulateModel, input, outControllerData } from '../lib/store'; let throttle = new throttler(); let left: nipplejs.JoystickManager; let right: nipplejs.JoystickManager; - let throttle_timing = 50; + let throttle_timing = 40; - let left_vector = { x: 0, y: 0 }; - let right_vector = { x: 0, y: 0 }; - let height = 45; // 0 to 50 - let speed = 0; let mode = 'rest'; // 'rest' | 'stand' | 'stand+' | 'walk' - let stream_rotation = 0; - let temp = 0; let data = new Uint8Array(6); @@ -30,12 +25,12 @@ }); left.on('move', (evt, data) => { - left_vector = data.vector; + input.update(o => {o.left = data.vector; return o;}) throttle.throttle(updateData, throttle_timing); }); left.on('end', (evt, data) => { - left_vector = { x: 0, y: 0 }; + input.update(o => {o.left = { x: 0, y: 0 }; return o;}) throttle.throttle(updateData, throttle_timing); }); @@ -48,35 +43,34 @@ }); right.on('move', (evt, data) => { - right_vector = data.vector; + input.update(o => {o.right = data.vector; return o;}) throttle.throttle(updateData, throttle_timing); }); right.on('end', (evt, data) => { - right_vector = { x: 0, y: 0 }; + input.update(o => {o.right = { x: 0, y: 0 }; return o;}) throttle.throttle(updateData, throttle_timing); }); }); const updateData = () => { - data[0] = left_vector.x * 128 + 128; - data[1] = left_vector.y * 128 + 128; - data[2] = right_vector.x * 128 + 128; - data[3] = right_vector.y * 128 + 128; - data[4] = height; - data[5] = speed; - data[6] = 0; + data[0] = 0; + data[1] = $input.left.x * 127 + 128; + data[2] = $input.left.y * 127 + 128; + data[3] = $input.right.x * 127 + 128; + data[4] = $input.right.y * 127 + 128; + data[5] = $input.height; + data[6] = $input.speed; - $socket.send(data); + outControllerData.set(data) + + if(!$emulateModel) $socket.send(data); }; - const lerp = (start: number, end: number, amt: number) => { - return (1 - amt) * start + amt * end; - };
-
+