Browse Source

修改位置和路线消失

DGJ 1 year ago
parent
commit
ca048a43a9
2 changed files with 71 additions and 10 deletions
  1. 2 2
      Assets/Scenes/LangChaoDemo2.unity
  2. 69 8
      Assets/Scripts/Managers/WayFindingManager.cs

+ 2 - 2
Assets/Scenes/LangChaoDemo2.unity

@@ -21629,7 +21629,7 @@ Transform:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 1531761701}
   m_LocalRotation: {x: 0, y: 0.7071068, z: 0, w: 0.7071068}
-  m_LocalPosition: {x: -0.341, y: -0.13, z: -2}
+  m_LocalPosition: {x: -2, y: 0, z: -2}
   m_LocalScale: {x: 0.1, y: 0.1, z: 0.1}
   m_ConstrainProportionsScale: 0
   m_Children: []
@@ -22472,7 +22472,7 @@ Transform:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 1617127046}
   m_LocalRotation: {x: 0, y: 0.7071068, z: 0, w: 0.7071068}
-  m_LocalPosition: {x: 0, y: 0.5, z: -1}
+  m_LocalPosition: {x: -0.2, y: 0.5, z: -1}
   m_LocalScale: {x: 0.1, y: 0.1, z: 0.1}
   m_ConstrainProportionsScale: 0
   m_Children: []

+ 69 - 8
Assets/Scripts/Managers/WayFindingManager.cs

@@ -98,7 +98,7 @@ public class WayFindingManager : MonoSingleton<WayFindingManager>
             listRoot[i].gameObject.SetActive(false);
         }
         listRoot.Clear();
-       
+        Bezier.Instance.RouteClear();
 
         for (int i = 0; i < listDeviceDoorName.Count; i++)
         {
@@ -120,14 +120,30 @@ public class WayFindingManager : MonoSingleton<WayFindingManager>
 
             Vector3 pos1 = new Vector3(player.localPosition.x, -1, player.localPosition.z);
             Vector3 pos2 = new Vector3(serverItem.transform.localPosition.x, -1, serverItem.transform.localPosition.z + ((serverItem.isSingle ? 1 : -1) * 1));
-         
+
+            Vector3 pos3 = new Vector3(serverItem.transform.localPosition.x, -1, serverItem.transform.localPosition.z);
+            lookPoint.localPosition = pos1;
+            pos1 = lookPoint.position;
+            lookPoint.localPosition = pos2;
+            pos2 = lookPoint.position;
+            lookPoint.localPosition = pos3;
+            pos3 = lookPoint.position;
+
+            lookPoint.localPosition = pos3;
+
+            GameObject devicedoorName = GameObject.Instantiate(deviceName, MachineRoomManager.Instance.transform);
+            devicedoorName.transform.localPosition = pos2;
+            devicedoorName.transform.LookAt(lookPoint);
+            devicedoorName.transform.localPosition = serverItem.transform.localPosition + new Vector3(0, 0, 0);
+            listDeviceDoorName.Add(devicedoorName);
+            devicedoorName.GetComponent<SettingDeviceName>().SettingName(serverItem.deviceParameters.deviceName);
 
             List<Vector3> listPos = new List<Vector3>();
             listPos.Add(pos1);
             listPos.Add(pos2);
-            listPos.Add(new Vector3(serverItem.transform.localPosition.x, -1, serverItem.transform.localPosition.z));
+            listPos.Add(pos3);
             Bezier.Instance.SetRoute(listPos);
-            CreateRoute(listPos,serverItem,true);
+          //  CreateRoute(listPos,serverItem,true);
            
 
         }
@@ -149,15 +165,36 @@ public class WayFindingManager : MonoSingleton<WayFindingManager>
 
                 Vector3 pos4 = new Vector3(serverItem.transform.localPosition.x, -1, serverItem.transform.localPosition.z + ((serverItem.isSingle ? 1 : -1) * 1));
 
+                Vector3 pos5 = new Vector3(serverItem.transform.localPosition.x, -1, serverItem.transform.localPosition.z);
+
+                lookPoint.localPosition = pos5;
+
+                GameObject devicedoorName = GameObject.Instantiate(deviceName, MachineRoomManager.Instance.transform);
+                devicedoorName.transform.localPosition = pos4;
+                devicedoorName.transform.LookAt(lookPoint);
+                devicedoorName.transform.localPosition = serverItem.transform.localPosition + new Vector3(0, 0, 0);
+                listDeviceDoorName.Add(devicedoorName);
+                devicedoorName.GetComponent<SettingDeviceName>().SettingName(serverItem.deviceParameters.deviceName);
+
+                lookPoint.localPosition = pos1;
+                pos1 = lookPoint.position;
+                lookPoint.localPosition = pos2;
+                pos2 = lookPoint.position;
+                lookPoint.localPosition = pos3;
+                pos3 = lookPoint.position;
+                lookPoint.localPosition = pos4;
+                pos4 = lookPoint.position;
+                lookPoint.localPosition = pos5;
+                pos5 = lookPoint.position;
 
                 List<Vector3> listpos = new List<Vector3>();
                 listpos.Add(pos1);
                 listpos.Add(pos2);
                 listpos.Add(pos3);
                 listpos.Add(pos4);
-                listpos.Add(new Vector3(serverItem.transform.localPosition.x,-1, serverItem.transform.localPosition.z));
+                listpos.Add(pos5);
                 Bezier.Instance.SetRoute(listpos);
-                CreateRoute(listpos,serverItem,true);
+             //   CreateRoute(listpos,serverItem,true);
                
             }
             else
@@ -177,14 +214,36 @@ public class WayFindingManager : MonoSingleton<WayFindingManager>
 
                 Vector3 pos4 = new Vector3(serverItem.transform.localPosition.x, -1, serverItem.transform.localPosition.z + ((serverItem.isSingle ? 1 : -1) * 1));
 
+                Vector3 pos5 = new Vector3(serverItem.transform.localPosition.x, -1, serverItem.transform.localPosition.z);
+
+                lookPoint.localPosition = pos5;
+
+                GameObject devicedoorName = GameObject.Instantiate(deviceName, MachineRoomManager.Instance.transform);
+                devicedoorName.transform.localPosition = pos4;
+                devicedoorName.transform.LookAt(lookPoint);
+                devicedoorName.transform.localPosition = serverItem.transform.localPosition + new Vector3(0, 0, 0);
+                listDeviceDoorName.Add(devicedoorName);
+                devicedoorName.GetComponent<SettingDeviceName>().SettingName(serverItem.deviceParameters.deviceName);
+
+                lookPoint.localPosition = pos1;
+                pos1 = lookPoint.position;
+                lookPoint.localPosition = pos2;
+                pos2 = lookPoint.position;
+                lookPoint.localPosition = pos3;
+                pos3 = lookPoint.position;
+                lookPoint.localPosition = pos4;
+                pos4 = lookPoint.position;
+                lookPoint.localPosition = pos5;
+                pos5 = lookPoint.position;
+
                 List<Vector3> listpos = new List<Vector3>();
                 listpos.Add(pos1);
                 listpos.Add(pos2);
                 listpos.Add(pos3);
                 listpos.Add(pos4);
-                listpos.Add(new Vector3(serverItem.transform.localPosition.x, -1, serverItem.transform.localPosition.z));
+                listpos.Add(pos5);
                 Bezier.Instance.SetRoute(listpos);
-                CreateRoute(listpos, serverItem, true);
+              //  CreateRoute(listpos, serverItem, true);
              
             }
         }
@@ -328,6 +387,8 @@ public class WayFindingManager : MonoSingleton<WayFindingManager>
         }
         listRoot.Clear();
 
+        Bezier.Instance.RouteClear();
+
         for(int i = 0;i<listDeviceDoorName.Count;i++)
         {
             listDeviceDoorName[i].gameObject.SetActive(false);