From 252fde9be6ec2284cc0851bc2d2592ea7da2f940 Mon Sep 17 00:00:00 2001 From: Kurt Hutten Irev-Dev Date: Wed, 2 Oct 2024 08:34:56 +1000 Subject: [PATCH] demo zoom not working --- src/clientSideScene/CameraControls.ts | 12 +++++++++++- src/lang/std/engineConnection.ts | 7 ++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/clientSideScene/CameraControls.ts b/src/clientSideScene/CameraControls.ts index 13656712d..cb5115676 100644 --- a/src/clientSideScene/CameraControls.ts +++ b/src/clientSideScene/CameraControls.ts @@ -306,9 +306,19 @@ export class CameraControls { event: 'camera_drag_end', callback: cb, }) + this.engineCommandManager.subscribeToUnreliable({ + event: 'default_camera_zoom', + callback: (a) => { + console.log('zoom', a) + cb(a) + }, + }) this.engineCommandManager.subscribeTo({ event: 'default_camera_zoom', - callback: cb, + callback: (a) => { + console.log('zoom', a) + cb(a) + }, }) this.engineCommandManager.subscribeTo({ event: 'default_camera_get_settings', diff --git a/src/lang/std/engineConnection.ts b/src/lang/std/engineConnection.ts index a3cfee591..639e78aeb 100644 --- a/src/lang/std/engineConnection.ts +++ b/src/lang/std/engineConnection.ts @@ -1230,7 +1230,7 @@ type ModelTypes = Models['OkModelingCmdResponse_type']['type'] type UnreliableResponses = Extract< Models['OkModelingCmdResponse_type'], - { type: 'highlight_set_entity' | 'camera_drag_move' } + { type: 'highlight_set_entity' | 'camera_drag_move' | 'default_camera_zoom' } > export interface UnreliableSubscription { event: T @@ -1572,9 +1572,11 @@ export class EngineCommandManager extends EventTarget { 'message', (event: MessageEvent) => { const result: UnreliableResponses = JSON.parse(event.data) + console.log('result', result) Object.values( this.unreliableSubscriptions[result.type] || {} ).forEach( + // TODO: There is only one response that uses the unreliable channel atm, // highlight_set_entity, if there are more it's likely they will all have the same // sequence logic, but I'm not sure if we use a single global sequence or a sequence @@ -1933,6 +1935,9 @@ export class EngineCommandManager extends EventTarget { ) { ;(cmd as any).sequence = this.outSequence this.outSequence++ + if(cmd.type === 'default_camera_zoom') { + console.log('sending zoom', cmd) + } this.engineConnection?.unreliableSend(command) return Promise.resolve(null) } else if (