From d71fa493134020ecd2a1f1ad65447f888826dfa0 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期二, 22 十月 2024 13:40:51 +0800
Subject: [PATCH] #

---
 zy-acs-flow/src/map/tool.js |   54 +++++++++++++++++++++++++++++++-----------------------
 1 files changed, 31 insertions(+), 23 deletions(-)

diff --git a/zy-acs-flow/src/map/tool.js b/zy-acs-flow/src/map/tool.js
index 4af5a42..edc162c 100644
--- a/zy-acs-flow/src/map/tool.js
+++ b/zy-acs-flow/src/map/tool.js
@@ -544,6 +544,34 @@
     return num * (Math.PI / 180);
 }
 
+const animateRotation = (sprite, targetRotation, rotationOffset = 0) => {
+    if (!mapContainer || !sprite) {
+        return;
+    }
+    // origin
+    let currentRotation = sprite.rotation + rotationOffset;
+    // target
+    targetRotation += rotationOffset;
+
+    // diff
+    let rotationDifference = targetRotation - currentRotation;
+    rotationDifference = ((rotationDifference + Math.PI) % (2 * Math.PI)) - Math.PI;
+
+    // destination
+    const endRotation = sprite.rotation + rotationDifference;
+
+    new TWEEDLE.Tween(sprite)
+        .to({ rotation: endRotation }, 1000)
+        .easing(TWEEDLE.Easing.Linear.None)
+        .onUpdate(() => {
+            // agv
+            if (sprite.updateTextRotation) {
+                sprite.updateTextRotation();
+            }
+        })
+        .start();
+};
+
 export const incrementSpriteNo = (str, incrementValue) => {
     const match = str.match(/(\D*)(\d+)/);
     if (match) {
@@ -633,11 +661,11 @@
     if (!code) { return; }
     const codeSprite = querySprite(DEVICE_TYPE.POINT, code);
     if (!codeSprite) { return; }
-    let agvSprite = querySprite(DEVICE_TYPE.AGV, agvNo);
-    const targetRotation = rotationParseNum(direction);
 
+    const targetRotation = rotationParseNum(direction);
     const backpackCount = backpack?.filter(item => item.loaded === true).length || 0;
 
+    let agvSprite = querySprite(DEVICE_TYPE.AGV, agvNo);
     if (!agvSprite) {
         const agvStatusMode = getAgvStatusMode(backpackCount, battery);
         const agvTexture = generateAgvSpriteTexture(agvStatusMode);
@@ -662,6 +690,7 @@
         agvText.anchor.set(0.5, 0.5);
         agvText.position.set(0, 0);
         agvSprite.addChild(agvText);
+
         agvSprite.updateTextRotation = () => {
             if (agvText && agvSprite) {
                 agvText.rotation = -agvSprite.rotation;
@@ -693,27 +722,6 @@
         .easing(TWEEDLE.Easing.Linear.None)
         .start();
 }
-
-const animateRotation = (sprite, targetRotation, agvRotationOffset) => {
-    let currentRotation = sprite.rotation + agvRotationOffset;
-    targetRotation += agvRotationOffset;
-
-    let rotationDifference = targetRotation - currentRotation;
-
-    rotationDifference = ((rotationDifference + Math.PI) % (2 * Math.PI)) - Math.PI;
-
-    const endRotation = sprite.rotation + rotationDifference;
-
-    new TWEEDLE.Tween(sprite)
-        .to({ rotation: endRotation }, 1000)
-        .easing(TWEEDLE.Easing.Linear.None)
-        .onUpdate(() => {
-            if (sprite.updateTextRotation) {
-                sprite.updateTextRotation();
-            }
-        })
-        .start();
-};
 
 const drawerAgvPath = (curZone, agvVo) => {
     if (!mapContainer) {

--
Gitblit v1.9.1