From a4019f141e1fdd29a198742095cfdba6128d2f44 Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期二, 19 十二月 2023 14:16:11 +0800
Subject: [PATCH] #map latest test

---
 src/main/webapp/views/console4.html |   65 +++++++++++++++++++++++++-------
 1 files changed, 50 insertions(+), 15 deletions(-)

diff --git a/src/main/webapp/views/console4.html b/src/main/webapp/views/console4.html
index 0994b7b..bf3cd43 100644
--- a/src/main/webapp/views/console4.html
+++ b/src/main/webapp/views/console4.html
@@ -131,9 +131,11 @@
   let pixiShuttleMap = new Map();
   let pixiShuttleMoveAdvancePathMap = new Map();
   let pixiShuttleMoveAdvancePathList = [];
+  let pixiShuttleLockPathMap = new Map();
   let pixiStaMap = new Map();
   let objectsContainer;
   let objectsContainer2;
+  let objectsContainer3;
   let graphics0;
   let graphics3;
   let graphics4;
@@ -200,10 +202,10 @@
         // this.getSystemRunningStatus() //鑾峰彇绯荤粺杩愯鐘舵��
 
         this.consoleInterval = setInterval(() => {
+          this.getMap(this.currentLev) //鑾峰彇瀹炴椂鍦板浘鏁版嵁
           this.getShuttleStateInfo() //鑾峰彇鍥涘悜绌挎杞︿俊鎭�
           this.getLiftStateInfo() //鑾峰彇鎻愬崌鏈轰俊鎭�
           this.getSiteInfo() //鑾峰彇杈撻�佺珯鐐规暟鎹�
-          this.getMap(this.currentLev) //鑾峰彇瀹炴椂鍦板浘鏁版嵁
           // this.getCodeData()//鑾峰彇鏉$爜
         }, 1000)
 
@@ -249,8 +251,8 @@
                 const shuttle = new PIXI.Sprite(resources.shuttle.texture);
                 shuttle.width = width
                 shuttle.height = height
-                shuttle.x = item.wcsPoint.x * height;//鏇存柊鍧愭爣x
-                shuttle.y = item.wcsPoint.y * width;//鏇存柊鍧愭爣y
+                shuttle.x = (item.wcsPoint.y - 0) * width;//鏇存柊鍧愭爣x
+                shuttle.y = (item.wcsPoint.x - 1) * height;//鏇存柊鍧愭爣y
                 shuttle.updateMoveStatus = true;//鍔ㄧ敾鎵ц瀹屾垚
                 shuttle.interactive = true; // 蹇呴』瑕佽缃墠鑳芥帴鏀朵簨浠�
                 shuttle.buttonMode = true; // 璁╁厜鏍囧湪hover鏃跺彉涓烘墜鍨嬫寚閽�
@@ -310,6 +312,18 @@
         this.reloadMap = true
         this.reloadSta = true
         this.getMap(lev)
+
+        //娓呯┖鍗犵敤璺緞
+        pixiShuttleLockPathMap.forEach((item, index) => {
+          objectsContainer3.removeChild(item);
+        });
+        pixiShuttleLockPathMap = new Map();
+
+        pixiShuttleMoveAdvancePathMap.forEach((item, index) => {
+          objectsContainer2.removeChild(item.sprite);
+        });
+        pixiShuttleMoveAdvancePathMap = new Map();
+        pixiShuttleMoveAdvancePathList = []
       },
       createMap(){
         //Create a Pixi Application
@@ -341,6 +355,10 @@
         // 鍒涘缓涓�涓鍣ㄦ潵绠$悊澶ф壒閲忕殑鏄剧ず瀵硅薄
         objectsContainer2 = new PIXI.Container();
         pixiApp.stage.addChild(objectsContainer2);
+
+        // 鍒涘缓涓�涓鍣ㄦ潵绠$悊澶ф壒閲忕殑鏄剧ず瀵硅薄
+        objectsContainer3 = new PIXI.Container();
+        pixiApp.stage.addChild(objectsContainer3);
 
         //*******************鎷栧姩鐢诲竷*******************
         let stageOriginalPos;
@@ -453,7 +471,7 @@
                   this.openDrawerLift(val)
                 }else{
                   //搴撲綅
-                  this.rightEvent(index, idx, e);
+                  this.rightEvent(index + 1, idx, e);
                   updateColor(sprite, 0x9900ff);
                 }
               });
@@ -488,7 +506,12 @@
                 pixiStaMap.set(parseInt(val.data), sprite);//绔欑偣鏁版嵁娣诲姞鍒癿ap涓�
               }
 
-              objectsContainer.addChild(sprite);
+              if (val.value == -999) {
+                pixiShuttleLockPathMap.set(this.getLocNoByXYZ(index + 1, idx, this.currentLev), sprite);
+                objectsContainer3.addChild(sprite);
+              }else {
+                objectsContainer.addChild(sprite);
+              }
               pixiStageList[index][idx] = sprite
             }
           });
@@ -497,15 +520,26 @@
           diff.forEach((item, index) => {
             //鑾峰彇old鍏冪礌
             let oldSprite = pixiStageList[item.x][item.y]
-            //绉婚櫎old鍏冪礌
-            objectsContainer.removeChild(oldSprite)
+            if (item.originData == -999) {
+              //绉婚櫎old璺緞鍏冪礌
+              objectsContainer3.removeChild(oldSprite);
+            }else {
+              //绉婚櫎old鍏冪礌
+              objectsContainer.removeChild(oldSprite);
+            }
 
             let sprite = getSprite(item.data, item.y * width, item.x * height, (e) => {
-              this.rightEvent(item.x, item.y, e);
+              this.rightEvent(item.x + 1, item.y, e);
               updateColor(sprite, 0x9900ff);
             });
 
-            objectsContainer.addChild(sprite);
+            if (item.data == -999) {
+              //娣诲姞璺緞鍏冪礌
+              objectsContainer3.addChild(sprite);
+            }else {
+              //娣诲姞鍏冪礌
+              objectsContainer.addChild(sprite);
+            }
 
             //淇濆瓨鏂板厓绱�
             pixiStageList[item.x][item.y] = sprite
@@ -527,7 +561,8 @@
               diff.push({
                 x: index,
                 y: idx,
-                data: arr2[index][idx].value
+                data: arr2[index][idx].value,
+                originData: val.value
               })
             }
           })
@@ -655,12 +690,12 @@
         if (shuttle.updateMoveStatus) {//鍔ㄧ敾鎵ц瀹屾垚鎵嶅彲缁х画鎵ц鍔ㄧ敾
           shuttle.updateMoveStatus = false;//鍔ㄧ敾鎵ц涓�
           // 璁$畻涓ょ偣涔嬮棿鐨勮窛绂�1
-          const distance = Math.sqrt(Math.pow((item.point.x * width) - shuttle.x, 2) + Math.pow((item.point.y * height) - shuttle.y, 2));
+          const distance = Math.sqrt(Math.pow((item.wcsPoint.x * width) - shuttle.x, 2) + Math.pow((item.wcsPoint.y * height) - shuttle.y, 2));
           gsap.killTweensOf(shuttle); // 鏉�姝绘墍鏈夐拡瀵�".class"鐨勫姩鐢�
           gsap.to(shuttle, {
-            x: item.point.x * width, // 鐩爣浣嶇疆
-            y: item.point.y * height, // 鐩爣浣嶇疆
-            duration: distance / 100, // 鍔ㄧ敾鎸佺画鏃堕棿锛堢锛�
+            x: (item.wcsPoint.y - 0) * width, // 鐩爣浣嶇疆
+            y: (item.wcsPoint.x - 1) * height, // 鐩爣浣嶇疆
+            duration: 0.2, // 鍔ㄧ敾鎸佺画鏃堕棿锛堢锛�
             ease: "power1.inOut", // 缂撳姩绫诲瀷
             onComplete: () => {
               shuttle.updateMoveStatus = true;//鍔ㄧ敾鎵ц瀹屾垚
@@ -824,7 +859,7 @@
         moveAdvancePath.forEach((path, idx) => {
           let locNo = that.getLocNoByXYZ(path.x, path.y, path.z);
           if (!pixiShuttleMoveAdvancePathMap.has(locNo)) {
-            let graphics = getGraphics(0x9966ff, width, height, path.y * width, path.x * height);
+            let graphics = getGraphics(0x9966ff, width, height, path.y * width, (path.x - 1) * height);
             let shuttleNos = [shuttleNo];
             // 鍒涘缓鏂囨湰瀵硅薄
             const style = new PIXI.TextStyle({

--
Gitblit v1.9.1