gemercheung 3 lat temu
rodzic
commit
45e5e02049
1 zmienionych plików z 26 dodań i 10 usunięć
  1. 26 10
      src/scene/scene.service.ts

+ 26 - 10
src/scene/scene.service.ts

@@ -490,20 +490,36 @@ export class SceneService implements OnModuleInit, OnModuleDestroy {
           if (frame) {
             console.log('unlock-Joints', JSON.stringify(frame));
             this.logger.log('Joints', JSON.stringify(frame));
+            let isRotateStop = false;
+            let isWalkingStop = false;
             // 在全局锁的情况下
             if (this.globalOptLock) {
+              isRotateStop = !!this.latestRotateRequest && this.onMoving.value;
+              isWalkingStop =
+                !!this.latestWalkingRequest && this.onMoving.value;
+
+              console.log('g--isRotateStop', isRotateStop);
+              console.log('g--isWalkingStop', isWalkingStop);
+
+              // 这个就是双暂时出现的时候, 强制只执行一次,以isWalkingStop为主
+              if (isRotateStop && isWalkingStop) {
+                isRotateStop = false;
+              }
+              console.log('g--1-isRotateStop', isRotateStop);
+              console.log('g--1-isWalkingStop', isWalkingStop);
+
               // 这个旋转暂停
-              // if (!!this.latestRotateRequest && this.onMoving.value) {
-              //   const hasStop = await this.handleRotateOrWalkingStop(
-              //     this.latestRotateRequest,
-              //   );
-              //   console.log('旋转-hasStop', hasStop);
-              //   this.clearWalkingJoints();
-              //   this.cleanMoveSteam();
-              //   this.globalOptLock = false;
-              // }
+              if (isRotateStop) {
+                const hasStop = await this.handleRotateOrWalkingStop(
+                  this.latestRotateRequest,
+                );
+                console.log('旋转-hasStop', hasStop);
+                this.clearWalkingJoints();
+                this.cleanMoveSteam();
+                this.globalOptLock = false;
+              }
               // 这个行走暂停
-              if (!!this.latestWalkingRequest && this.onMoving.value) {
+              if (isWalkingStop) {
                 const hasStop = await this.handleRotateOrWalkingStop(
                   this.latestWalkingRequest,
                 );