Browse Source

修改 数据结构 增加后台接口

DGJ 1 year ago
parent
commit
5abe2f54c6

+ 27 - 1
Assets/Game/Blue/Controller/Item/DeviceInfo_Item.cs

@@ -1,4 +1,6 @@
 using Blue;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
 using UnityEngine;
 using UnityEngine.UI;
 
@@ -32,10 +34,34 @@ namespace GHZLangChao
 
             //  Vector3 currentPos = transform.position; // 为了将详情面板移动到面前
 
-            this.SendCommand(new DeviceDetailsUpdataDataCommand(DeviceParameter, currentPos, item)); // 触发事件,打开面板,更新数据
+            // 从后台获取UI详情
+
+            HttpLangChaoTool.Instance.Post(HttpLangChaoAction.bladeServer, "", BladeServerCallBack);
+
+           
             item.gameObject.SetActive(false);
         }
 
+        private void BladeServerCallBack(string msg)
+        {
+            Debug.Log(msg);
+            JObject json = JObject.Parse(msg);
+
+            if (json["code"].ToString() == "200")
+            {
+                string data = json["data"].ToString();
+
+                this.DeviceParameter = JsonConvert.DeserializeObject<DeviceParameters>(data);
+
+                this.SendCommand(new DeviceDetailsUpdataDataCommand(DeviceParameter, currentPos, item)); // 触发事件,打开面板,更新数据
+            }
+            else
+            {
+                Debug.LogError(" 请求刀片机详情参数出错 !!! " + HttpLangChaoAction.bladeServer);
+            }
+
+        }
+
         private void OnEnable()
         {
             if (mQueueSystem == null)

+ 21 - 21
Assets/Game/ShowDevice/DeviceDetailsControl.cs

@@ -66,43 +66,43 @@ public class DeviceDetailsControl : AbstractController
         //deviceId.text = DeviceParameter.deviceId.ToString();
         //deviceName.text = DeviceParameter.deviceName;
         deviceModel.text = DeviceParameter.deviceModel;
-        assetTagNumber.text = DeviceParameter.assetTagNumber;
+        assetTagNumber.text = DeviceParameter.assetNumber;
         serialNumber.text = DeviceParameter.serialNumber;
-        equipmentNumber.text = DeviceParameter.equipmentNumber;
+        equipmentNumber.text = DeviceParameter.deviceNumber;
         assetStatus.text = DeviceParameter.assetStatus;
         deviceStatus.text = DeviceParameter.deviceStatus;
-        deliveryData.text = DeviceParameter.deliveryData;
+        deliveryData.text = DeviceParameter.deliveryDate;
 
-        enabledDate.text = DeviceParameter.enabledDate;
+        enabledDate.text = DeviceParameter.activationDate;
         serverUsageType.text = DeviceParameter.serverUsageType;
-        typicalModel.text = DeviceParameter.typicalModel;
-        equipmentBrand.text = DeviceParameter.equipmentBrand;
+        typicalModel.text = DeviceParameter.typical;
+        equipmentBrand.text = DeviceParameter.deviceNumber;
         manufacturer.text = DeviceParameter.manufacturer;
-        equipmentWeight.text = DeviceParameter.equipmentWeight.ToString();
-        equipmentPower.text = DeviceParameter.equipmentPower.ToString();
-        originType.text = DeviceParameter.originType;
-        collectionCPName.text = DeviceParameter.collectionCPName;
+        equipmentWeight.text = DeviceParameter.eight;
+        equipmentPower.text = DeviceParameter.power;
+        originType.text = DeviceParameter.origin;
+        collectionCPName.text = DeviceParameter.catalogProductName;
         resourcePool.text = DeviceParameter.resourcePool;
 
-        wherePOD.text = DeviceParameter.wherePOD;
-        networkDomain.text = DeviceParameter.networkDomain;
-        city.text = DeviceParameter.city;
+        wherePOD.text = DeviceParameter.pod;
+        networkDomain.text = DeviceParameter.network;
+        city.text = DeviceParameter.province;
         building.text = DeviceParameter.building;
         floor.text = DeviceParameter.floor;
-        computerRoomName.text = DeviceParameter.computerRoomName;
+        computerRoomName.text = DeviceParameter.engineRoomName;
         cabinetNumber.text = DeviceParameter.cabinetNumber;
-        uMessage.text = DeviceParameter.uMessage;
+        uMessage.text = DeviceParameter.u;
         deviceOrientation.text = DeviceParameter.deviceOrientation;
 
-        manageIP.text = DeviceParameter.manageIP;
+        manageIP.text = DeviceParameter.managementIP;
         saveIP.text = DeviceParameter.saveIP;
         iPMIIP.text = DeviceParameter.iPMIIP;
         businessIP.text = DeviceParameter.businessIP;
-        equipmentSupplier.text = DeviceParameter.equipmentSupplier;
-        territorialPAManager.text = DeviceParameter.territorialPAManager;
-        equipmentBTTOrganization.text = DeviceParameter.equipmentBTTOrganization;
-        facilityManagementOrganization.text = DeviceParameter.facilityManagementOrganization;
-        equipmentMaintenanceOrganization.text = DeviceParameter.equipmentMaintenanceOrganization;
+        equipmentSupplier.text = DeviceParameter.supplier;
+        territorialPAManager.text = DeviceParameter.provincePrincipal;
+        equipmentBTTOrganization.text = DeviceParameter.ownershipOrganization;
+        facilityManagementOrganization.text = DeviceParameter.managementOrganization;
+        equipmentMaintenanceOrganization.text = DeviceParameter.maintenanceOrganization;
 
         businessSystem.text = DeviceParameter.businessSystem;
 

+ 62 - 16
Assets/Scenes/LangChaoDemo2.unity

@@ -2025,7 +2025,7 @@ Transform:
   m_Children:
   - {fileID: 2085389668}
   m_Father: {fileID: 0}
-  m_RootOrder: 46
+  m_RootOrder: 47
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!1 &122690070
 GameObject:
@@ -2392,7 +2392,7 @@ Transform:
   m_Children:
   - {fileID: 503826677}
   m_Father: {fileID: 0}
-  m_RootOrder: 33
+  m_RootOrder: 34
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!1 &183734197
 GameObject:
@@ -3768,6 +3768,7 @@ MonoBehaviour:
   homeBtn2: {fileID: 188755534}
   hideBtn: {fileID: 969687066}
   uiFollow: {fileID: 0}
+  type: 0
 --- !u!114 &289110137
 MonoBehaviour:
   m_ObjectHideFlags: 0
@@ -4002,7 +4003,7 @@ Transform:
   m_Children:
   - {fileID: 1428694659}
   m_Father: {fileID: 0}
-  m_RootOrder: 37
+  m_RootOrder: 38
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!1 &307533891
 GameObject:
@@ -6231,7 +6232,7 @@ Transform:
   m_Children:
   - {fileID: 334138222}
   m_Father: {fileID: 0}
-  m_RootOrder: 35
+  m_RootOrder: 36
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!1 &482153408
 GameObject:
@@ -7766,6 +7767,51 @@ MonoBehaviour:
   firstBHText: {fileID: 39906885}
   tagOPosYText: {fileID: 2054724186}
   cameraFarText: {fileID: 1717837079}
+--- !u!1 &583309980
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 583309982}
+  - component: {fileID: 583309981}
+  m_Layer: 0
+  m_Name: Net
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &583309981
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 583309980}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 9eb2c1120b825d14dbaf47b974de7085, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  global: 1
+--- !u!4 &583309982
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 583309980}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 32
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!1 &587736014
 GameObject:
   m_ObjectHideFlags: 0
@@ -10318,7 +10364,7 @@ Transform:
   m_Children:
   - {fileID: 1301454615}
   m_Father: {fileID: 0}
-  m_RootOrder: 41
+  m_RootOrder: 42
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!1 &791758554
 GameObject:
@@ -11484,7 +11530,7 @@ Transform:
   m_Children:
   - {fileID: 1455474013}
   m_Father: {fileID: 0}
-  m_RootOrder: 47
+  m_RootOrder: 48
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!1 &874439297
 GameObject:
@@ -13964,7 +14010,7 @@ Transform:
   m_Children:
   - {fileID: 1007470594}
   m_Father: {fileID: 0}
-  m_RootOrder: 44
+  m_RootOrder: 45
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!1 &1007470593
 GameObject:
@@ -14477,7 +14523,7 @@ Transform:
   m_Children:
   - {fileID: 1195914728}
   m_Father: {fileID: 0}
-  m_RootOrder: 42
+  m_RootOrder: 43
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!1 &1038271688
 GameObject:
@@ -18093,7 +18139,7 @@ Transform:
   m_Children:
   - {fileID: 1674454061}
   m_Father: {fileID: 0}
-  m_RootOrder: 38
+  m_RootOrder: 39
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!1 &1341529265
 GameObject:
@@ -18565,7 +18611,7 @@ Transform:
   m_Children:
   - {fileID: 1767066921}
   m_Father: {fileID: 0}
-  m_RootOrder: 36
+  m_RootOrder: 37
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!114 &1353351977
 MonoBehaviour:
@@ -19500,7 +19546,7 @@ Transform:
   m_Children:
   - {fileID: 513072084}
   m_Father: {fileID: 0}
-  m_RootOrder: 43
+  m_RootOrder: 44
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!1 &1416708796
 GameObject:
@@ -19598,7 +19644,7 @@ Transform:
   m_Children:
   - {fileID: 337898556}
   m_Father: {fileID: 0}
-  m_RootOrder: 45
+  m_RootOrder: 46
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!1 &1417717206
 GameObject:
@@ -19957,7 +20003,7 @@ Transform:
   m_Children:
   - {fileID: 1764105085}
   m_Father: {fileID: 0}
-  m_RootOrder: 34
+  m_RootOrder: 35
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!1 &1428694658
 GameObject:
@@ -20614,7 +20660,7 @@ Transform:
   m_ConstrainProportionsScale: 0
   m_Children: []
   m_Father: {fileID: 0}
-  m_RootOrder: 32
+  m_RootOrder: 33
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!114 &1496039442
 MonoBehaviour:
@@ -22749,7 +22795,7 @@ Transform:
   m_Children:
   - {fileID: 66988797}
   m_Father: {fileID: 0}
-  m_RootOrder: 39
+  m_RootOrder: 40
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!1 &1713568285
 GameObject:
@@ -25010,7 +25056,7 @@ Transform:
   m_Children:
   - {fileID: 634173867}
   m_Father: {fileID: 0}
-  m_RootOrder: 40
+  m_RootOrder: 41
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!1 &1909598945
 GameObject:

+ 39 - 10
Assets/Scripts/Data/DataItem.cs

@@ -1,6 +1,8 @@
 using System.Collections;
 using System.Collections.Generic;
 using GHZLangChao;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
 using SC.XR.Unity.Module_InputSystem;
 using TMPro;
 using UnityEngine;
@@ -8,7 +10,7 @@ using UnityEngine.UI;
 
 public class DataItem : MonoBehaviour
 {
-    public int ID;
+    public string ID;
 
     public int tagId;
 
@@ -151,20 +153,47 @@ public class DataItem : MonoBehaviour
 
     public void SaveData()
     {
-        //if(bSData!=null)
-        //{
-        //    bSData.pos = offsetPos;
-        //}
-        //if(serverData!=null)
-        //{
-        //    serverData.offsetPos = offsetPos;
-        //}
 
         if (machineParameters != null)
+        {
+
+            UpdateCabinet updateData = new UpdateCabinet();
+            updateData.deviceId = machineParameters.deviceId;
+            updateData.tagID = machineParameters.tagID.ToString();
+            updateData.offsetPos = machineParameters.offsetPos;
+            updateData.eulerAxle = machineParameters.eulerAxle.ToString();
+
+            string data = JsonConvert.SerializeObject(updateData);
             machineParameters.offsetPos = offsetPos;
 
+            HttpLangChaoTool.Instance.Post(HttpLangChaoAction.updateCabinet, data, UpdateCabinetCallBack);
+        }
+           
+
         MachineRoomManager.Instance.SaveAllData();
     }
-}
 
+    private void UpdateCabinetCallBack(string msg)
+    {
+        Debug.Log(msg);
+
+        JObject json = JObject.Parse(msg);
 
+        if (json["code"].ToString() == "200")
+        {
+            Debug.Log(" 更新机柜参数成功  ");
+        }
+        else
+        {
+            Debug.LogError(" 更新机柜参数出错 !!! " + HttpLangChaoAction.updateCabinet);
+        }
+    }
+}
+
+public class UpdateCabinet
+{
+    public string deviceId { get; set; }
+    public string tagID { get; set; }
+    public Vector3 offsetPos { get; set; }
+    public string eulerAxle { get; set; }
+}

+ 250 - 7
Assets/Scripts/Data/MachineRoomData.cs

@@ -39,11 +39,11 @@ public class MachineRoomData
     public float firstBladeSeverH { get; set; }// 第一台刀片机在机柜内的初始高度
                                                // public float bIntervalL { get; set; }
 
-    public float TagOffestPosY { get; set; }
+    public float tagOffestPosY { get; set; }
     /// <summary>
     ///  可视范围
     /// </summary>
-    public float CameraFar { get; set; }
+    public float cameraFar { get; set; }
 
     /// <summary>
     /// 机房名字
@@ -89,7 +89,7 @@ public class MachineParameters
     /// <summary>
     /// 设备ID
     /// </summary>
-    public int deviceId { get; set; }
+    public string deviceId { get; set; }
     /// <summary>
     /// 设备名称
     /// </summary>
@@ -142,7 +142,7 @@ public class MachineParameters
 /// <summary>
 /// 刀片机设备信息
 /// </summary>
-public class DeviceParameters
+public class DeviceParameters3
 {
     /// <summary>
     ///  设备ID
@@ -316,6 +316,249 @@ public class DeviceParameters
 
 }
 
+
+/// <summary>
+/// 刀片机设备信息
+/// </summary>
+public class DeviceParameters
+{
+    /// <summary>
+    ///  设备ID
+    /// </summary>
+    public string deviceId { get; set; }
+    /// <summary>
+    /// 设备名称
+    /// </summary>
+    public string deviceName { get; set; }
+    /// <summary>
+    /// 设备型号
+    /// </summary>
+    public string deviceModel { get; set; }
+    /// <summary>
+    /// 设备类型
+    /// </summary>
+    public string deviceType { get; set; }
+    /// <summary>
+    /// 资产标签号
+    /// </summary>
+    public string assetNumber { get; set; }
+    /// <summary>
+    /// 序列号
+    /// </summary>
+    public string serialNumber { get; set; }
+    /// <summary>
+    /// 设备编码
+    /// </summary>
+    public string deviceNumber { get; set; }
+    /// <summary>
+    /// 资产状态
+    /// </summary>
+    public string assetStatus { get; set; }
+    /// <summary>
+    /// 设备状态
+    /// </summary>
+    public string deviceStatus { get; set; }
+    /// <summary>
+    /// 交付日期
+    /// </summary>
+    public string deliveryDate { get; set; }
+    /// <summary>
+    /// 启用日期
+    /// </summary>
+    public string activationDate { get; set; }
+    /// <summary>
+    /// 服务器使用类型
+    /// </summary>
+    public string serverUsageType { get; set; }
+    /// <summary>
+    /// 典配模型
+    /// </summary>
+    public string typical { get; set; }
+    /// <summary>
+    /// 设备品牌
+    /// </summary>
+    public string deviceBrand { get; set; }
+    /// <summary>
+    /// 生产厂商
+    /// </summary>
+    public string manufacturer { get; set; }
+    /// <summary>
+    /// 设备重量(KG)
+    /// </summary>
+    public string eight { get; set; }
+    /// <summary>
+    /// 设备功率(W)
+    /// </summary>
+    public string power { get; set; }
+    /// <summary>
+    /// 产地类型
+    /// </summary>
+    public string origin { get; set; }
+    /// <summary>
+    /// 集采目录产品名称
+    /// </summary>
+    public string catalogProductName { get; set; }
+    /// <summary>
+    /// 所在资源池
+    /// </summary>
+    public string resourcePool { get; set; }
+    /// <summary>
+    /// 所在POD
+    /// </summary>
+    public string pod { get; set; }
+    /// <summary>
+    /// 所在网络域
+    /// </summary>
+    public string network { get; set; }
+    /// <summary>
+    /// 设备重要级别
+    /// </summary>
+    public string importanceLevel { get; set; }
+    /// <summary>
+    /// 成套设备编码
+    /// </summary>
+    public string completeEquipmentCode { get; set; }
+    /// <summary>
+    /// 是否有RFID标签
+    /// </summary>
+    public string RFID { get; set; }
+    /// <summary>
+    /// 备注
+    /// </summary>
+    public string remark { get; set; }
+    /// <summary>
+    /// 所在城市
+    /// </summary>
+    public string province { get; set; }
+    /// <summary>
+    /// 所在楼宇
+    /// </summary>
+    public string building { get; set; }
+    /// <summary>
+    /// 所在楼层
+    /// </summary>
+    public string floor { get; set; }
+    /// <summary>
+    /// 所在机房名称
+    /// </summary>
+    public string engineRoomName { get; set; }
+    /// <summary>
+    /// 所在机房编码
+    /// </summary>
+    public string engineRoomCode { get; set; }
+    /// <summary>
+    /// 机柜编号
+    /// </summary>
+    public string cabinetNumber { get; set; }
+    /// <summary>
+    /// U位信息
+    /// </summary>
+    public string u { get; set; }
+    /// <summary>
+    /// 设备朝向
+    /// </summary>
+    public string deviceOrientation { get; set; }
+    /// <summary>
+    /// 管理IP
+    /// </summary>
+    public string managementIP { get; set; }
+    /// <summary>
+    /// 监控ID
+    /// </summary>
+    public string monitoringID { get; set; }
+    /// <summary>
+    /// 存储IP
+    /// </summary>
+    public string saveIP { get; set; }
+    /// <summary>
+    /// IPMIP
+    /// </summary>
+    public string iPMIIP { get; set; }
+    /// <summary>
+    /// 业务IP
+    /// </summary>
+    public string businessIP { get; set; }
+    /// <summary>
+    /// 项目名称
+    /// </summary>
+    public string projectName { get; set; }
+    /// <summary>
+    /// 项目编码
+    /// </summary>
+    public string projectNumber { get; set; }
+    /// <summary>
+    /// 设备供货商
+    /// </summary>
+    public string supplier { get; set; }
+    /// <summary>
+    /// 资产责任人
+    /// </summary>
+    public string principal { get; set; }
+    /// <summary>
+    /// 属地省资产负责人
+    /// </summary>
+    public string provincePrincipal { get; set; }
+    /// <summary>
+    /// 设备归属组织
+    /// </summary>
+    public string ownershipOrganization { get; set; }
+    /// <summary>
+    /// 设备管理组织
+    /// </summary>
+    public string managementOrganization { get; set; }
+    /// <summary>
+    /// 设备维护组织
+    /// </summary>
+    public string maintenanceOrganization { get; set; }
+    /// <summary>
+    /// 设备使用组织
+    /// </summary>
+    public string usageOrganization { get; set; }
+    /// <summary>
+    /// 业务系统
+    /// </summary>
+    public string businessSystem { get; set; }
+    /// <summary>
+    /// 设备应用类型
+    /// </summary>
+    public string applicationType { get; set; }
+    /// <summary>
+    /// 资源名称
+    /// </summary>
+    public string resourceName { get; set; }
+    /// <summary>
+    ///  创建时间
+    /// </summary>
+    public string createTime { get; set; }
+
+}
+
+public class BrielDeviceParmaters
+{
+    /// <summary>
+    ///  设备ID
+    /// </summary>
+    public string id { get; set; }
+    /// <summary>
+    /// 设备名称
+    /// </summary>
+    public string deviceName { get; set; }
+    /// <summary>
+    /// 设备类型
+    /// </summary>
+    public string deviceType { get; set; }
+
+    /// <summary>
+    /// 设备品牌
+    /// </summary>
+    public string deviceBrand { get; set; }
+
+    /// <summary>
+    /// 管理IP
+    /// </summary>
+    public string managementIP { get; set; }
+}
+
 /// <summary>
 /// 告警信息
 /// </summary>
@@ -324,7 +567,7 @@ public class AlarmData
     /// <summary>
     ///  设备ID
     /// </summary>
-    public int deviceId { get; set; }
+    public string deviceId { get; set; }
     /// <summary>
     /// 设备名称
     /// </summary>
@@ -375,5 +618,5 @@ public class MachineRoomTagData
     public Vector3 offestPos { get; set; }
     public Vector3 offestrot { get; set; }
 
-   // public Transform tagModel { get; set; }
-}
+    // public Transform tagModel { get; set; }
+}

+ 8 - 8
Assets/Scripts/Data/SettingMachineRoomData.cs

@@ -74,8 +74,8 @@ public class SettingMachineRoomData : MonoSingleton<SettingMachineRoomData>
         this.cabinetH.text = data.cabinetH.ToString();
         this.bIntervalH.text = data.bIntervalH.ToString();
         this.firstBladeSeverH.text = data.firstBladeSeverH.ToString();
-        this.tagOffestPosY.text = data.TagOffestPosY.ToString();
-        this.cameraFar.text = data.CameraFar.ToString();
+        this.tagOffestPosY.text = data.tagOffestPosY.ToString();
+        this.cameraFar.text = data.cameraFar.ToString();
 
         //this.line.text = "10";
         //this.list.text = "10";
@@ -118,13 +118,13 @@ public class SettingMachineRoomData : MonoSingleton<SettingMachineRoomData>
         firstBHText.text = data.firstBladeSeverH.ToString();
 
         tagOPosYSlider.maxValue = 2;
-        tagOPosYSlider.value = data.TagOffestPosY;
-        tagOPosYText.text = data.TagOffestPosY.ToString();
+        tagOPosYSlider.value = data.tagOffestPosY;
+        tagOPosYText.text = data.tagOffestPosY.ToString();
 
         cameraFarSlider.maxValue = 100;
         cameraFarSlider.minValue = 2;
-        cameraFarSlider.value = data.CameraFar;
-        cameraFarText.text = data.CameraFar.ToString();
+        cameraFarSlider.value = data.cameraFar;
+        cameraFarText.text = data.cameraFar.ToString();
         
 
         line.onValueChanged.AddListener((msg) => { if (msg == "") return; lineSlider.maxValue = int.Parse(msg); });
@@ -156,10 +156,10 @@ public class SettingMachineRoomData : MonoSingleton<SettingMachineRoomData>
         firstBHSlider.onValueChanged.AddListener((value) => { MachineRoomManager.Instance.data.firstBladeSeverH = value; MachineRoomManager.Instance.SettingMachine(); firstBHText.text = value.ToString(); });
 
         tagOffestPosY.onValueChanged.AddListener((msg) => { if (msg == "") return; tagOPosYSlider.maxValue = float.Parse(msg); });
-        tagOPosYSlider.onValueChanged.AddListener((value) => { MachineRoomManager.Instance.data.TagOffestPosY = value; MachineRoomManager.Instance.SettingMachine(); tagOPosYText.text = value.ToString(); });
+        tagOPosYSlider.onValueChanged.AddListener((value) => { MachineRoomManager.Instance.data.tagOffestPosY = value; MachineRoomManager.Instance.SettingMachine(); tagOPosYText.text = value.ToString(); });
 
         cameraFar.onValueChanged.AddListener((msg) => { if (msg == "") return; cameraFarSlider.maxValue = float.Parse(msg); });
-        cameraFarSlider.onValueChanged.AddListener((value) => { MachineRoomManager.Instance.data.CameraFar = value; MachineRoomManager.Instance.SettingCameraFar(); cameraFarText.text = value.ToString(); });
+        cameraFarSlider.onValueChanged.AddListener((value) => { MachineRoomManager.Instance.data.cameraFar = value; MachineRoomManager.Instance.SettingCameraFar(); cameraFarText.text = value.ToString(); });
 
        // MachineRoomManager.Instance.MachineInit();
     }

+ 604 - 696
Assets/Scripts/MachineSceneManager.cs

@@ -1,696 +1,604 @@
-using Newtonsoft.Json;
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-using UnityEngine.UI;
-using Ximmerse.XR.Tag;
-
-public class MachineSceneManager : MonoSingleton<MachineSceneManager>
-{
-
-    public MachineRoomData data;
-
-    public GameObject cabinetObj;
-
-    public GameObject bladeServer;
-
-    public bool isInit = false;
-
-    public MachineRoomTagData tagData;
-
-    public List<EditorTag> listEditorTag;
-    GameObject tagObjPoint;
-    private List<BladeServerItem> listBSItem;
-
-    public TagTracking foundTracking;
-
-    public GameObject cubeY;
-
-    public Transform leftLine;
-    public Transform rightLine;
-
-    bool isSelect = false;
-
-    private Transform selectTrigger;
-    private Vector3 selectTOldPos;
-    private Vector3 selectTOldRot;
-
-    public bool isDataInit = false;
-
-    /// <summary>
-    ///  临时创建 的tagid
-    /// </summary>
-    private List<int> listTagid;
-
-    /// <summary>
-    ///  临时创建 刀片机信息
-    /// </summary>
-    private DeviceParameters dp1;
-    private DeviceParameters dp2;
-
-    /// <summary>
-    /// 机房列表
-    /// </summary>
-    public List<string> listRoomName;
-
-    public void Init()
-    {
-        tagObjPoint = new GameObject();
-
-        listBSItem = new List<BladeServerItem>();
-
-        listRoomName = new List<string>();
-
-        listRoomName.Add("4A-23");
-        listRoomName.Add("4A-24");
-        listRoomName.Add("4A-25");
-        listRoomName.Add("4A-26");
-        listRoomName.Add("4A-27");
-
-
-        listTagid = new List<int>();
-
-        listTagid.Add(31);
-        listTagid.Add(61);
-        listTagid.Add(64);
-        listTagid.Add(43);
-        listTagid.Add(3161);
-        listTagid.Add(3164);
-        listTagid.Add(4361);
-        listTagid.Add(4364);
-
-        // PlayerPrefs.DeleteAll();
-        if (PlayerPrefs.HasKey("MachineRoomData"))
-        {
-            string msg = PlayerPrefs.GetString("MachineRoomData");
-            UILogManager.Instance.text1.text = msg;
-            Debug.Log("MachineRoomData  " + msg);
-            data = JsonConvert.DeserializeObject<MachineRoomData>(msg);
-            //   Debug.Log("PlayerPrefs.HasKey(MachineRoomData) ");
-            //data = new MachineRoomData();
-            //data.line = 4;
-            //data.list = 3;
-            //data.intervalW = 1;
-            //data.intervalL = 2;
-            //data.cabinetW = 1.2f;
-            //data.cabinetH = 2f;
-            //data.bladeSeverNumber = 4;
-            //data.bIntervalH = 0.2f;
-            //data.firstBladeSeverH = 0.4f;
-            //data.TagOffestPosY = 0;
-            //data.CameraFar = 3;
-            //data.roomName = "4A-23";
-            //data.totalCapacity = 8520;
-            //data.usedCapacity = 4420;
-            //data.totalPower = 1278;
-            //data.usedPower = 846.24f;
-            //data.totalLoadBearing = 85.2f;
-            //data.usedBearing = 46.83f;
-        }
-        else
-        {
-            data = new MachineRoomData();
-            data.line = 4;
-            data.list = 3;
-            data.intervalW = 1;
-            data.intervalL = 2;
-            data.cabinetW = 0.6f;
-            data.cabinetH = 2f;
-            data.bladeSeverNumber = 4;
-            data.bIntervalH = 0.2f;
-            data.firstBladeSeverH = 0.4f;
-            data.TagOffestPosY = 1f;
-            data.CameraFar = 3;
-            data.roomName = "4A-23";
-            data.totalCapacity = 8520;
-            data.usedCapacity = 4420;
-            data.totalPower = 1278;
-            data.usedPower = 846.24f;
-            data.totalLoadBearing = 85.2f;
-            data.usedBearing = 46.83f;
-
-        }
-        //  data.listCabinetData = null;
-        data.listEquipmentData = null;
-        data.listTagData = null;
-
-
-        //  PlayerPrefs.DeleteAll();
-        if (PlayerPrefs.HasKey("MachineRoomTagData"))
-        {
-            string msg = PlayerPrefs.GetString("MachineRoomTagData");
-
-            Debug.Log("MachineRoomTagData  " + msg);
-            data.listTagData = JsonConvert.DeserializeObject<List<MachineRoomTagData>>(msg);
-
-            //data.listTagData = new List<MachineRoomTagData>();
-
-            //MachineRoomTagData data1 = new MachineRoomTagData();
-            //data1.id = 65;
-            //data1.pos = new Vector3(4.5f, 0, 0);
-            //data1.rot = new Vector3(0, 180, 0);
-            //data1.offestPos = Vector3.zero;
-            //data1.offestrot = Vector3.zero;
-
-            //MachineRoomTagData data2 = new MachineRoomTagData();
-            //data2.id = 22;
-            //data2.pos = new Vector3(4.5f, 0, 1.8f);
-            //data2.rot = new Vector3(0, 180, 0);
-            //data2.offestPos = Vector3.zero;
-            //data2.offestrot = Vector3.zero;
-
-            //MachineRoomTagData data3 = new MachineRoomTagData();
-            //data3.id = 23;
-            //data3.pos = new Vector3(4.5f, 0, 3.7f);
-            //data3.rot = new Vector3(0, 180, 0);
-            //data3.offestPos = Vector3.zero;
-            //data3.offestrot = Vector3.zero;
-
-            //data.listTagData.Add(data1);
-            //data.listTagData.Add(data2);
-            //data.listTagData.Add(data3);
-
-        }
-        else
-        {
-
-            data.listTagData = new List<MachineRoomTagData>();
-
-            MachineRoomTagData data1 = new MachineRoomTagData();
-            data1.id = 65;
-            data1.pos = new Vector3(4.5f, 0, 0);
-            data1.rot = new Vector3(0, 180, 0);
-            data1.offestPos = Vector3.zero;
-            data1.offestrot = Vector3.zero;
-
-            MachineRoomTagData data2 = new MachineRoomTagData();
-            data2.id = 22;
-            data2.pos = new Vector3(4.5f, 0, 1.8f);
-            data2.rot = new Vector3(0, 180, 0);
-            data2.offestPos = Vector3.zero;
-            data2.offestrot = Vector3.zero;
-
-            MachineRoomTagData data3 = new MachineRoomTagData();
-            data3.id = 23;
-            data3.pos = new Vector3(4.5f, 0, 3.7f);
-            data3.rot = new Vector3(0, 180, 0);
-            data3.offestPos = Vector3.zero;
-            data3.offestrot = Vector3.zero;
-
-            MachineRoomTagData data4 = new MachineRoomTagData();
-            data4.id = 141;
-            data4.pos = new Vector3(4.5f, 2.5f, 3.7f);
-            data4.rot = new Vector3(0, 180, 0);
-            data4.offestPos = Vector3.zero;
-            data4.offestrot = Vector3.zero;
-
-
-            MachineRoomTagData data5 = new MachineRoomTagData();
-            data5.id = 142;
-            data5.pos = new Vector3(4.5f, 2.5f, 3.7f);
-            data5.rot = new Vector3(0, 180, 0);
-            data5.offestPos = Vector3.zero;
-            data5.offestrot = Vector3.zero;
-
-
-            data.listTagData.Add(data1);
-            data.listTagData.Add(data2);
-            data.listTagData.Add(data3);
-            data.listTagData.Add(data4);
-            data.listTagData.Add(data5);
-        }
-
-
-        if (PlayerPrefs.HasKey("MachineRoomCabinetData"))
-        {
-            string msg = PlayerPrefs.GetString("MachineRoomCabinetData");
-
-            // data.listCabinetData = JsonConvert.DeserializeObject<List<MachineRoomCabinetData>>(msg);
-            data.listEquipmentData = JsonConvert.DeserializeObject<List<MachineParameters>>(msg);
-        }
-
-        dp1 = new DeviceParameters();
-        dp1.deviceId = 1;
-        dp1.deviceName = "NetView4000_1";
-        dp1.deviceModel = "NetView4000";
-        dp1.deviceType = "流量溯源";
-        dp1.assetTagNumber = "781010G001AAAAAAA";
-        dp1.serialNumber = "B4U120800057";
-        dp1.equipmentNumber = "HW-SEC-OTAAAAAA";
-        dp1.assetStatus = null;
-        dp1.deviceStatus = "运行中";
-        dp1.deliveryData = "2022-11-25";
-        dp1.enabledDate = "2022-05-31";
-        dp1.serverUsageType = null;
-        dp1.typicalModel = null;
-        dp1.equipmentBrand = "神州数码";
-        dp1.manufacturer = "神州数码";
-        dp1.equipmentWeight = 30;
-        dp1.equipmentPower = 1200;
-        dp1.originType = "国产";
-        dp1.collectionCPName = "其它安...";
-        dp1.resourcePool = "湘潭资源池";
-        dp1.wherePOD = "PUB1-1";
-        dp1.networkDomain = "公共域";
-        dp1.city = "湖南";
-        dp1.building = "二级楼";
-        dp1.floor = "5";
-        dp1.computerRoomName = "507机房";
-        dp1.computerRoomCoding = "ITC-4300000...";
-        dp1.cabinetNumber = "P06";
-        dp1.uMessage = "24-24";
-        dp1.deviceOrientation = "前";
-        dp1.manageIP = "10.207.90.50";
-        dp1.saveIP = null;
-        dp1.iPMIIP = null;
-        dp1.businessIP = null;
-        dp1.projectName = "2021年IT基础...";
-        dp1.equipmentSupplier = "神州数码";
-        dp1.assetOwner = "陈国威(chen guo wei)";
-        dp1.territorialPAManager = "张泽宇(zhang ze yu)";
-        dp1.equipmentBTTOrganization = "中移动信息";
-        dp1.facilityManagementOrganization = null;
-        dp1.equipmentMaintenanceOrganization = "湖南公司信...";
-        dp1.businessSystem = null;
-
-        dp2 = new DeviceParameters();
-        dp2.deviceId = 2;
-        dp2.deviceName = "NetView4000_2";
-        dp2.deviceModel = "NetView4000";
-        dp2.deviceType = "流量溯源";
-        dp2.assetTagNumber = "781010G002AAAAAAA";
-        dp2.serialNumber = "B4U120800057";
-        dp2.equipmentNumber = "HW-SEC-OTBBBBB";
-        dp2.assetStatus = null;
-        dp2.deviceStatus = "运行中";
-        dp2.deliveryData = "2022-11-25";
-        dp2.enabledDate = "2022-05-31";
-        dp2.serverUsageType = null;
-        dp2.typicalModel = null;
-        dp2.equipmentBrand = "神州数码";
-        dp2.manufacturer = "神州数码";
-        dp2.equipmentWeight = 30;
-        dp2.equipmentPower = 1200;
-        dp2.originType = "国产";
-        dp2.collectionCPName = "其它安...";
-        dp2.resourcePool = "湘潭资源池";
-        dp2.wherePOD = "PUB1-1";
-        dp2.networkDomain = "公共域";
-        dp2.city = "湖南";
-        dp2.building = "二级楼";
-        dp2.floor = "5";
-        dp2.computerRoomName = "507机房";
-        dp2.computerRoomCoding = "ITC-4300000...";
-        dp2.cabinetNumber = "P06";
-        dp2.uMessage = "24-24";
-        dp2.deviceOrientation = "前";
-        dp2.manageIP = "10.207.90.50";
-        dp2.saveIP = null;
-        dp2.iPMIIP = null;
-        dp2.businessIP = null;
-        dp2.projectName = "2021年IT基础...";
-        dp2.equipmentSupplier = "神州数码";
-        dp2.assetOwner = "陈国威(chen guo wei)";
-        dp2.territorialPAManager = "张泽宇(zhang ze yu)";
-        dp2.equipmentBTTOrganization = "中移动信息";
-        dp2.facilityManagementOrganization = null;
-        dp2.equipmentMaintenanceOrganization = "湖南公司信...";
-        dp2.businessSystem = null;
-
-
-
-
-    }
-
-    private void Start()
-    {
-
-        //Init();
-
-#if UNITY_EDITOR
-        //   Init();
-#endif
-    }
-
-    public void SceneInit()
-    {
-        SettingMachineRoomData.Instance.Init(data);
-        OpenXRCamera.Instance.head.GetComponent<Camera>().farClipPlane = data.CameraFar;
-        MachineInit();
-        // ServerInit();
-
-        isDataInit = true;
-    }
-
-    private void Update()
-    {
-        if (state && tagData != null)
-        {
-            for (int i = 0; i < listEditorTag.Count; i++)
-            {
-                listEditorTag[i].gameObject.SetActive(!state);
-
-                if (listEditorTag[i].id == tagData.id)
-                    listEditorTag[i].gameObject.SetActive(true);
-            }
-        }
-
-        if (tagData != null && foundTracking != null && DragManager.Instance.triggerState == TriggerState.No && !state)
-        {
-            tagObjPoint.transform.SetParent(foundTracking.transform);
-
-            tagObjPoint.transform.localEulerAngles = new Vector3(0, tagData.offestrot == Vector3.zero ? tagData.rot.y : tagData.offestrot.y, 0);
-            tagObjPoint.transform.localPosition = tagData.offestPos == Vector3.zero ? tagData.pos : tagData.offestPos;
-
-            transform.eulerAngles = new Vector3(0, tagObjPoint.transform.eulerAngles.y, 0);
-            transform.position = new Vector3(tagObjPoint.transform.position.x, foundTracking.transform.position.y + data.TagOffestPosY, tagObjPoint.transform.position.z);
-        }
-
-        if (Input.GetKeyDown(KeyCode.K))
-        {
-            OnTrackingFound(foundTracking);
-        }
-
-
-
-    }
-
-    public List<MachineObj> listObjes = new List<MachineObj>();
-    public void MachineInit()
-    {
-
-        listObjes.Clear();
-        listObjes = new List<MachineObj>();
-        //  重新生成机柜组
-        if (data.listEquipmentData == null || data.listEquipmentData.Count != (data.line * data.list))
-        {
-            data.listEquipmentData = new List<MachineParameters>();
-
-            for (int i = 0; i < data.line; i++)
-            {
-                for (int j = 0; j < data.list; j++)
-                {
-
-                    MachineParameters mp1 = new MachineParameters();
-                    mp1.deviceId = (i * data.list + j + 1);
-                    mp1.tagID = -1000;
-                    mp1.offsetPos = new Vector3(-0.4f, 0, -0.3f);
-                    mp1.eulerAxle = 3;
-                    mp1.deviceName = "设备" + (i * data.list + j + 1).ToString();
-                    mp1.carryingSystem = "承载系统1";
-                    mp1.deviceLocation = "4A-23机房";
-                    mp1.equipmentType = "机柜";
-                    mp1.equipmentModel = null;
-                    mp1.factory = null;
-                    mp1.specification = null;
-                    mp1.listDevicesParameters = new List<DeviceParameters>();
-
-                    if (mp1.deviceId % 2 == 0)
-                        mp1.listDevicesParameters.Add(dp1);
-                    else
-                        mp1.listDevicesParameters.Add(dp2);
-                    data.listEquipmentData.Add(mp1);
-                }
-            }
-            for (int i = 0; i < listTagid.Count; i++)
-            {
-                if ((i + 1) < data.listEquipmentData.Count)
-                {
-                    data.listEquipmentData[i].tagID = listTagid[i];
-                }
-                else
-                    break;
-            }
-        }
-
-
-        GameObject rDataItem = Resources.Load<GameObject>("DataItem");
-        for (int i = 0; i < data.listEquipmentData.Count; i++)
-        {
-            GameObject obj = GameObject.Instantiate(cabinetObj, transform);
-            obj.transform.localScale = new Vector3(data.cabinetW, data.cabinetH, obj.transform.localScale.z);
-            Debug.Log(data.cabinetH + "    " + data.cabinetW);
-            obj.name = data.listEquipmentData[i].deviceName;
-            //   Debug.Log(obj.name + "  " + new Vector3(j * (data.cabinetW + data.intervalW), 0, i * data.intervalL));
-            obj.transform.localPosition = new Vector3((i % data.line) * (data.cabinetW + data.intervalW), 0, (i / data.line) * data.intervalL);
-            obj.GetComponent<MachineObj>().Setting((i / data.line) % 2 == 0);
-            listObjes.Add(obj.GetComponent<MachineObj>());
-            listObjes[i].deviceParameters = data.listEquipmentData[i];
-
-
-            GameObject item = GameObject.Instantiate(rDataItem);
-            DataItem dataItem = item.GetComponent<DataItem>();
-            dataItem.Init(data.listEquipmentData[i]);
-            // item.SetActive(true);
-
-            for (int j = 0; j < data.listEquipmentData[i].listDevicesParameters.Count; j++)
-            {
-                dataItem.SetDeviceParametersData(data.listEquipmentData[i].listDevicesParameters);
-            }
-            listObjes[i].dataItem = dataItem;
-
-        }
-        //Debug.Log(data.line);
-
-
-
-        Vector3 leftPos = new Vector3(-1 * (data.cabinetW + data.intervalW), 0, 0);
-        Vector3 rightPos = new Vector3((data.cabinetW * data.list + data.intervalW * data.list+ data.cabinetW+data.intervalW), 0, 0);
-        WayFindingManager.Instance.SetLine(leftPos, rightPos);
-
-
-
-        SaveAllData();
-        isInit = true;
-
-    }
-
-    public IEnumerator RandomRange()
-    {
-        yield return 2f;
-        int randomNum = UnityEngine.Random.Range(0, listObjes.Count - 1);
-        //  WayFindingManager.Instance.SetServerItem(listObjes[randomNum].transform);
-
-        List<MachineObj> listMachineObj = new List<MachineObj>();
-
-        for (int i = 0; i < 3; i++)
-        {
-            if (i < listObjes.Count - 1)
-            {
-                listMachineObj.Add(listObjes[i]);
-            }
-        }
-
-        WayFindingManager.Instance.NavigatorServer(listMachineObj);
-    }
-
-    public void SettingMachine()
-    {
-        if (listObjes != null)
-        {
-            for (int i = 0; i < listObjes.Count; i++)
-            {
-                listObjes[i].gameObject.SetActive(false);
-            }
-            listObjes.Clear();
-            listObjes = new List<MachineObj>();
-        }
-
-        if (BladeServerManager.Instance.listTagTracking != null)
-        {
-            for (int i = 0; i < BladeServerManager.Instance.listTagTracking.Count; i++)
-            {
-                BladeServerManager.Instance.listTagTracking[i].gameObject.SetActive(false);
-            }
-            BladeServerManager.Instance.listTagTracking.Clear();
-        }
-
-        data.listEquipmentData = new List<MachineParameters>();
-        for (int i = 0; i < data.line; i++)
-        {
-            for (int j = 0; j < data.list; j++)
-            {
-                data.listEquipmentData = new List<MachineParameters>();
-                MachineParameters mp1 = new MachineParameters();
-                mp1.deviceId = (i * data.list + j + 1);
-                mp1.tagID = -1000;
-                mp1.offsetPos = new Vector3(0f, 0, 0f);
-                mp1.eulerAxle = 3;
-                mp1.deviceName = "设备" + (i * data.list + j + 1).ToString();
-                mp1.carryingSystem = "承载系统1";
-                mp1.deviceLocation = "4A-23机房";
-                mp1.equipmentType = "机柜";
-                mp1.equipmentModel = null;
-                mp1.factory = null;
-                mp1.specification = null;
-                mp1.listDevicesParameters = new List<DeviceParameters>();
-
-                if (mp1.deviceId % 2 == 0)
-                    mp1.listDevicesParameters.Add(dp1);
-                else
-                    mp1.listDevicesParameters.Add(dp2);
-            }
-        }
-
-        MachineInit();
-    }
-
-    public void SettingCameraFar()
-    {
-        OpenXRCamera.Instance.head.GetComponent<Camera>().farClipPlane = data.CameraFar;
-    }
-
-    public void OnTrackingFirst(TagTracking tracking)
-    {
-        if (isDataInit)
-            QueryTagData(tracking);
-    }
-
-    public void OnTrackingStay(TagTracking tracking)
-    {
-
-    }
-
-    public void OnTrackingFound(TagTracking tracking)
-    {
-        //  UILogManager.Instance.SendLogText(2, tracking.TrackId.ToString());
-        if (isDataInit)
-            QueryTagData(tracking);
-
-    }
-
-    public void OnTrackingLost(TagTracking tracking)
-    {
-
-    }
-
-    private void QueryTagData(TagTracking tracking)
-    {
-        if (isDataInit)
-        {
-            foundTracking = tracking;
-            tagData = null;
-            Debug.Log("DGJ ===> QueryTagData" + data.listTagData.Count);
-            for (int i = 0; i < data.listTagData.Count; i++)
-            {
-                if (data.listTagData[i].id == tracking.TrackId)
-                {
-                    tagData = data.listTagData[i];
-                    break;
-                }
-            }
-        }
-
-
-        //if (state)
-        //{
-        //    for (int i = 0; i < listEditorTag.Count; i++)
-        //    {
-        //        listEditorTag[i].gameObject.SetActive(!state);
-
-        //        if (listEditorTag[i].id == tracking.TrackId)
-        //            listEditorTag[i].gameObject.SetActive(true);
-
-        //    }
-        //}
-    }
-
-    bool state = false;
-    public void EditorTag(Text text)
-    {
-        text.text = state ? "打开" : "关闭";
-        text.text += "场景编辑";
-
-
-
-        state = !state;
-        DragManager.Instance.state = state;
-        cubeY.SetActive(state);
-
-        for (int i = 0; i < listObjes.Count; i++)
-        {
-            listObjes[i].MeshState(state);
-        }
-
-        if (!state && foundTracking != null)
-        {
-            for (int i = 0; i < listEditorTag.Count; i++)
-            {
-                listEditorTag[i].gameObject.SetActive(state);
-            }
-
-            for (int i = 0; i < data.listTagData.Count; i++)
-            {
-                //data.listTagData[i].offestPos = data.listTagData[i].tagModel.localPosition;
-                //data.listTagData[i].offestrot = data.listTagData[i].tagModel.localEulerAngles;
-
-                for (int j = 0; j < listEditorTag.Count; j++)
-                {
-                    if (listEditorTag[j].id == data.listTagData[i].id)
-                    {
-                        //data.listTagData[i].offestPos+= listEditorTag[j].transform.localPosition;
-                        //data.listTagData[i].offestrot+= listEditorTag[j].transform.localEulerAngles;
-
-                        transform.SetParent(listEditorTag[j].transform.parent);
-                        data.listTagData[i].offestPos = transform.localPosition;
-                        data.listTagData[i].offestrot = transform.localEulerAngles;
-                        transform.parent = null;
-
-                        Debug.Log("DGJ  ===> 保存 Tag " + listEditorTag[j].id);
-                    }
-                }
-            }
-
-
-            selectTOldPos = Vector3.zero;
-            selectTOldRot = Vector3.zero;
-            DragManager.Instance.triggerState = TriggerState.No;
-            selectTrigger = null;
-        }
-
-        if (!state)
-        {
-            SaveAllData();
-        }
-    }
-
-    public void SaveAllData()
-    {
-        PlayerPrefs.SetString("MachineRoomTagData", JsonConvert.SerializeObject(data.listTagData));
-
-        PlayerPrefs.SetString("MachineRoomCabinetData", JsonConvert.SerializeObject(data.listEquipmentData));
-        PlayerPrefs.SetString("MachineRoomData", JsonConvert.SerializeObject(data));
-
-        Debug.Log(" 保存成功 " + JsonConvert.SerializeObject(data));
-    }
-
-    private void SaveData()
-    {
-        if (data != null)
-        {
-            string _str = JsonConvert.SerializeObject(data);
-
-            System.IO.Directory.CreateDirectory(Application.persistentDataPath + "/Data");
-            string NowTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss").Replace(" ", "_").Replace("/", "_").Replace(":", "_");
-            Debug.Log(Application.persistentDataPath + "/Data");
-            using (System.IO.StreamWriter writer = System.IO.File.CreateText(Application.persistentDataPath + "/Data" + "/" + NowTime + "_data.txt"))
-            {
-                writer.Write(_str);
-                //writer.
-            }
-
-
-            //UnityEditor.AssetDatabase.Refresh();
-
-        }
-    }
-    private void OnDisable()
-    {
-        PlayerPrefs.SetString("MachineRoomTagData", JsonConvert.SerializeObject(data.listTagData));
-        PlayerPrefs.SetString("MachineRoomCabinetData", JsonConvert.SerializeObject(data.listEquipmentData));
-        PlayerPrefs.SetString("MachineRoomData", JsonConvert.SerializeObject(data));
-        SaveData();
-    }
-
-}
+//using Newtonsoft.Json;
+//using System;
+//using System.Collections;
+//using System.Collections.Generic;
+//using UnityEngine;
+//using UnityEngine.UI;
+//using Ximmerse.XR.Tag;
+
+//public class MachineSceneManager : MonoSingleton<MachineSceneManager>
+//{
+
+//    public MachineRoomData data;
+
+//    public GameObject cabinetObj;
+
+//    public GameObject bladeServer;
+
+//    public bool isInit = false;
+
+//    public MachineRoomTagData tagData;
+
+//    public List<EditorTag> listEditorTag;
+//    GameObject tagObjPoint;
+//    private List<BladeServerItem> listBSItem;
+
+//    public TagTracking foundTracking;
+
+//    public GameObject cubeY;
+
+//    public Transform leftLine;
+//    public Transform rightLine;
+
+//    bool isSelect = false;
+
+//    private Transform selectTrigger;
+//    private Vector3 selectTOldPos;
+//    private Vector3 selectTOldRot;
+
+//    public bool isDataInit = false;
+
+//    /// <summary>
+//    ///  临时创建 的tagid
+//    /// </summary>
+//    private List<int> listTagid;
+
+//    /// <summary>
+//    ///  临时创建 刀片机信息
+//    /// </summary>
+//    private DeviceParameters dp1;
+//    private DeviceParameters dp2;
+
+//    /// <summary>
+//    /// 机房列表
+//    /// </summary>
+//    public List<string> listRoomName;
+
+//    public void Init()
+//    {
+//        tagObjPoint = new GameObject();
+
+//        listBSItem = new List<BladeServerItem>();
+
+//        listRoomName = new List<string>();
+
+//        listRoomName.Add("4A-23");
+//        listRoomName.Add("4A-24");
+//        listRoomName.Add("4A-25");
+//        listRoomName.Add("4A-26");
+//        listRoomName.Add("4A-27");
+
+
+//        listTagid = new List<int>();
+
+//        listTagid.Add(31);
+//        listTagid.Add(61);
+//        listTagid.Add(64);
+//        listTagid.Add(43);
+//        listTagid.Add(3161);
+//        listTagid.Add(3164);
+//        listTagid.Add(4361);
+//        listTagid.Add(4364);
+
+//        // PlayerPrefs.DeleteAll();
+//        if (PlayerPrefs.HasKey("MachineRoomData"))
+//        {
+//            string msg = PlayerPrefs.GetString("MachineRoomData");
+//            UILogManager.Instance.text1.text = msg;
+//            Debug.Log("MachineRoomData  " + msg);
+//            data = JsonConvert.DeserializeObject<MachineRoomData>(msg);
+//            //   Debug.Log("PlayerPrefs.HasKey(MachineRoomData) ");
+//            //data = new MachineRoomData();
+//            //data.line = 4;
+//            //data.list = 3;
+//            //data.intervalW = 1;
+//            //data.intervalL = 2;
+//            //data.cabinetW = 1.2f;
+//            //data.cabinetH = 2f;
+//            //data.bladeSeverNumber = 4;
+//            //data.bIntervalH = 0.2f;
+//            //data.firstBladeSeverH = 0.4f;
+//            //data.TagOffestPosY = 0;
+//            //data.CameraFar = 3;
+//            //data.roomName = "4A-23";
+//            //data.totalCapacity = 8520;
+//            //data.usedCapacity = 4420;
+//            //data.totalPower = 1278;
+//            //data.usedPower = 846.24f;
+//            //data.totalLoadBearing = 85.2f;
+//            //data.usedBearing = 46.83f;
+//        }
+//        else
+//        {
+//            data = new MachineRoomData();
+//            data.line = 4;
+//            data.list = 3;
+//            data.intervalW = 1;
+//            data.intervalL = 2;
+//            data.cabinetW = 0.6f;
+//            data.cabinetH = 2f;
+//            data.bladeSeverNumber = 4;
+//            data.bIntervalH = 0.2f;
+//            data.firstBladeSeverH = 0.4f;
+//            data.TagOffestPosY = 1f;
+//            data.CameraFar = 3;
+//            data.roomName = "4A-23";
+//            data.totalCapacity = 8520;
+//            data.usedCapacity = 4420;
+//            data.totalPower = 1278;
+//            data.usedPower = 846.24f;
+//            data.totalLoadBearing = 85.2f;
+//            data.usedBearing = 46.83f;
+
+//        }
+//        //  data.listCabinetData = null;
+//        data.listEquipmentData = null;
+//        data.listTagData = null;
+
+
+//        //  PlayerPrefs.DeleteAll();
+//        if (PlayerPrefs.HasKey("MachineRoomTagData"))
+//        {
+//            string msg = PlayerPrefs.GetString("MachineRoomTagData");
+
+//            Debug.Log("MachineRoomTagData  " + msg);
+//            data.listTagData = JsonConvert.DeserializeObject<List<MachineRoomTagData>>(msg);
+
+//            //data.listTagData = new List<MachineRoomTagData>();
+
+//            //MachineRoomTagData data1 = new MachineRoomTagData();
+//            //data1.id = 65;
+//            //data1.pos = new Vector3(4.5f, 0, 0);
+//            //data1.rot = new Vector3(0, 180, 0);
+//            //data1.offestPos = Vector3.zero;
+//            //data1.offestrot = Vector3.zero;
+
+//            //MachineRoomTagData data2 = new MachineRoomTagData();
+//            //data2.id = 22;
+//            //data2.pos = new Vector3(4.5f, 0, 1.8f);
+//            //data2.rot = new Vector3(0, 180, 0);
+//            //data2.offestPos = Vector3.zero;
+//            //data2.offestrot = Vector3.zero;
+
+//            //MachineRoomTagData data3 = new MachineRoomTagData();
+//            //data3.id = 23;
+//            //data3.pos = new Vector3(4.5f, 0, 3.7f);
+//            //data3.rot = new Vector3(0, 180, 0);
+//            //data3.offestPos = Vector3.zero;
+//            //data3.offestrot = Vector3.zero;
+
+//            //data.listTagData.Add(data1);
+//            //data.listTagData.Add(data2);
+//            //data.listTagData.Add(data3);
+
+//        }
+//        else
+//        {
+
+//            data.listTagData = new List<MachineRoomTagData>();
+
+//            MachineRoomTagData data1 = new MachineRoomTagData();
+//            data1.id = 65;
+//            data1.pos = new Vector3(4.5f, 0, 0);
+//            data1.rot = new Vector3(0, 180, 0);
+//            data1.offestPos = Vector3.zero;
+//            data1.offestrot = Vector3.zero;
+
+//            MachineRoomTagData data2 = new MachineRoomTagData();
+//            data2.id = 22;
+//            data2.pos = new Vector3(4.5f, 0, 1.8f);
+//            data2.rot = new Vector3(0, 180, 0);
+//            data2.offestPos = Vector3.zero;
+//            data2.offestrot = Vector3.zero;
+
+//            MachineRoomTagData data3 = new MachineRoomTagData();
+//            data3.id = 23;
+//            data3.pos = new Vector3(4.5f, 0, 3.7f);
+//            data3.rot = new Vector3(0, 180, 0);
+//            data3.offestPos = Vector3.zero;
+//            data3.offestrot = Vector3.zero;
+
+//            MachineRoomTagData data4 = new MachineRoomTagData();
+//            data4.id = 141;
+//            data4.pos = new Vector3(4.5f, 2.5f, 3.7f);
+//            data4.rot = new Vector3(0, 180, 0);
+//            data4.offestPos = Vector3.zero;
+//            data4.offestrot = Vector3.zero;
+
+
+//            MachineRoomTagData data5 = new MachineRoomTagData();
+//            data5.id = 142;
+//            data5.pos = new Vector3(4.5f, 2.5f, 3.7f);
+//            data5.rot = new Vector3(0, 180, 0);
+//            data5.offestPos = Vector3.zero;
+//            data5.offestrot = Vector3.zero;
+
+
+//            data.listTagData.Add(data1);
+//            data.listTagData.Add(data2);
+//            data.listTagData.Add(data3);
+//            data.listTagData.Add(data4);
+//            data.listTagData.Add(data5);
+//        }
+
+
+//        if (PlayerPrefs.HasKey("MachineRoomCabinetData"))
+//        {
+//            string msg = PlayerPrefs.GetString("MachineRoomCabinetData");
+
+//            // data.listCabinetData = JsonConvert.DeserializeObject<List<MachineRoomCabinetData>>(msg);
+//            data.listEquipmentData = JsonConvert.DeserializeObject<List<MachineParameters>>(msg);
+//        }
+//    }
+
+//    private void Start()
+//    {
+
+//        //Init();
+
+//#if UNITY_EDITOR
+//        //   Init();
+//#endif
+//    }
+
+//    public void SceneInit()
+//    {
+//        SettingMachineRoomData.Instance.Init(data);
+//        OpenXRCamera.Instance.head.GetComponent<Camera>().farClipPlane = data.CameraFar;
+//        MachineInit();
+//        // ServerInit();
+
+//        isDataInit = true;
+//    }
+
+//    private void Update()
+//    {
+//        if (state && tagData != null)
+//        {
+//            for (int i = 0; i < listEditorTag.Count; i++)
+//            {
+//                listEditorTag[i].gameObject.SetActive(!state);
+
+//                if (listEditorTag[i].id == tagData.id)
+//                    listEditorTag[i].gameObject.SetActive(true);
+//            }
+//        }
+
+//        if (tagData != null && foundTracking != null && DragManager.Instance.triggerState == TriggerState.No && !state)
+//        {
+//            tagObjPoint.transform.SetParent(foundTracking.transform);
+
+//            tagObjPoint.transform.localEulerAngles = new Vector3(0, tagData.offestrot == Vector3.zero ? tagData.rot.y : tagData.offestrot.y, 0);
+//            tagObjPoint.transform.localPosition = tagData.offestPos == Vector3.zero ? tagData.pos : tagData.offestPos;
+
+//            transform.eulerAngles = new Vector3(0, tagObjPoint.transform.eulerAngles.y, 0);
+//            transform.position = new Vector3(tagObjPoint.transform.position.x, foundTracking.transform.position.y + data.TagOffestPosY, tagObjPoint.transform.position.z);
+//        }
+
+//        if (Input.GetKeyDown(KeyCode.K))
+//        {
+//            OnTrackingFound(foundTracking);
+//        }
+
+
+
+//    }
+
+//    public List<MachineObj> listObjes = new List<MachineObj>();
+//    public void MachineInit()
+//    {
+
+//        listObjes.Clear();
+//        listObjes = new List<MachineObj>();
+//        //  重新生成机柜组
+//        if (data.listEquipmentData == null || data.listEquipmentData.Count != (data.line * data.list))
+//        {
+//            data.listEquipmentData = new List<MachineParameters>();
+
+//            for (int i = 0; i < data.line; i++)
+//            {
+//                for (int j = 0; j < data.list; j++)
+//                {
+
+//                    MachineParameters mp1 = new MachineParameters();
+//                    mp1.deviceId = (i * data.list + j + 1);
+//                    mp1.tagID = -1000;
+//                    mp1.offsetPos = new Vector3(-0.4f, 0, -0.3f);
+//                    mp1.eulerAxle = 3;
+//                    mp1.deviceName = "设备" + (i * data.list + j + 1).ToString();
+//                    mp1.carryingSystem = "承载系统1";
+//                    mp1.deviceLocation = "4A-23机房";
+//                    mp1.equipmentType = "机柜";
+//                    mp1.equipmentModel = null;
+//                    mp1.factory = null;
+//                    mp1.specification = null;
+//                    mp1.listDevicesParameters = new List<DeviceParameters>();
+
+//                    if (mp1.deviceId % 2 == 0)
+//                        mp1.listDevicesParameters.Add(dp1);
+//                    else
+//                        mp1.listDevicesParameters.Add(dp2);
+//                    data.listEquipmentData.Add(mp1);
+//                }
+//            }
+//            for (int i = 0; i < listTagid.Count; i++)
+//            {
+//                if ((i + 1) < data.listEquipmentData.Count)
+//                {
+//                    data.listEquipmentData[i].tagID = listTagid[i];
+//                }
+//                else
+//                    break;
+//            }
+//        }
+
+
+//        GameObject rDataItem = Resources.Load<GameObject>("DataItem");
+//        for (int i = 0; i < data.listEquipmentData.Count; i++)
+//        {
+//            GameObject obj = GameObject.Instantiate(cabinetObj, transform);
+//            obj.transform.localScale = new Vector3(data.cabinetW, data.cabinetH, obj.transform.localScale.z);
+//            Debug.Log(data.cabinetH + "    " + data.cabinetW);
+//            obj.name = data.listEquipmentData[i].deviceName;
+//            //   Debug.Log(obj.name + "  " + new Vector3(j * (data.cabinetW + data.intervalW), 0, i * data.intervalL));
+//            obj.transform.localPosition = new Vector3((i % data.line) * (data.cabinetW + data.intervalW), 0, (i / data.line) * data.intervalL);
+//            obj.GetComponent<MachineObj>().Setting((i / data.line) % 2 == 0);
+//            listObjes.Add(obj.GetComponent<MachineObj>());
+//            listObjes[i].deviceParameters = data.listEquipmentData[i];
+
+
+//            GameObject item = GameObject.Instantiate(rDataItem);
+//            DataItem dataItem = item.GetComponent<DataItem>();
+//            dataItem.Init(data.listEquipmentData[i]);
+//            // item.SetActive(true);
+
+//            for (int j = 0; j < data.listEquipmentData[i].listDevicesParameters.Count; j++)
+//            {
+//                dataItem.SetDeviceParametersData(data.listEquipmentData[i].listDevicesParameters);
+//            }
+//            listObjes[i].dataItem = dataItem;
+
+//        }
+//        //Debug.Log(data.line);
+
+
+
+//        Vector3 leftPos = new Vector3(-1 * (data.cabinetW + data.intervalW), 0, 0);
+//        Vector3 rightPos = new Vector3((data.cabinetW * data.list + data.intervalW * data.list+ data.cabinetW+data.intervalW), 0, 0);
+//        WayFindingManager.Instance.SetLine(leftPos, rightPos);
+
+
+
+//        SaveAllData();
+//        isInit = true;
+
+//    }
+
+//    public IEnumerator RandomRange()
+//    {
+//        yield return 2f;
+//        int randomNum = UnityEngine.Random.Range(0, listObjes.Count - 1);
+//        //  WayFindingManager.Instance.SetServerItem(listObjes[randomNum].transform);
+
+//        List<MachineObj> listMachineObj = new List<MachineObj>();
+
+//        for (int i = 0; i < 3; i++)
+//        {
+//            if (i < listObjes.Count - 1)
+//            {
+//                listMachineObj.Add(listObjes[i]);
+//            }
+//        }
+
+//        WayFindingManager.Instance.NavigatorServer(listMachineObj);
+//    }
+
+//    public void SettingMachine()
+//    {
+//        if (listObjes != null)
+//        {
+//            for (int i = 0; i < listObjes.Count; i++)
+//            {
+//                listObjes[i].gameObject.SetActive(false);
+//            }
+//            listObjes.Clear();
+//            listObjes = new List<MachineObj>();
+//        }
+
+//        if (BladeServerManager.Instance.listTagTracking != null)
+//        {
+//            for (int i = 0; i < BladeServerManager.Instance.listTagTracking.Count; i++)
+//            {
+//                BladeServerManager.Instance.listTagTracking[i].gameObject.SetActive(false);
+//            }
+//            BladeServerManager.Instance.listTagTracking.Clear();
+//        }
+
+//        data.listEquipmentData = new List<MachineParameters>();
+//        for (int i = 0; i < data.line; i++)
+//        {
+//            for (int j = 0; j < data.list; j++)
+//            {
+//                data.listEquipmentData = new List<MachineParameters>();
+//                MachineParameters mp1 = new MachineParameters();
+//                mp1.deviceId = (i * data.list + j + 1);
+//                mp1.tagID = -1000;
+//                mp1.offsetPos = new Vector3(0f, 0, 0f);
+//                mp1.eulerAxle = 3;
+//                mp1.deviceName = "设备" + (i * data.list + j + 1).ToString();
+//                mp1.carryingSystem = "承载系统1";
+//                mp1.deviceLocation = "4A-23机房";
+//                mp1.equipmentType = "机柜";
+//                mp1.equipmentModel = null;
+//                mp1.factory = null;
+//                mp1.specification = null;
+//                mp1.listDevicesParameters = new List<DeviceParameters>();
+
+//                if (mp1.deviceId % 2 == 0)
+//                    mp1.listDevicesParameters.Add(dp1);
+//                else
+//                    mp1.listDevicesParameters.Add(dp2);
+//            }
+//        }
+
+//        MachineInit();
+//    }
+
+//    public void SettingCameraFar()
+//    {
+//        OpenXRCamera.Instance.head.GetComponent<Camera>().farClipPlane = data.CameraFar;
+//    }
+
+//    public void OnTrackingFirst(TagTracking tracking)
+//    {
+//        if (isDataInit)
+//            QueryTagData(tracking);
+//    }
+
+//    public void OnTrackingStay(TagTracking tracking)
+//    {
+
+//    }
+
+//    public void OnTrackingFound(TagTracking tracking)
+//    {
+//        //  UILogManager.Instance.SendLogText(2, tracking.TrackId.ToString());
+//        if (isDataInit)
+//            QueryTagData(tracking);
+
+//    }
+
+//    public void OnTrackingLost(TagTracking tracking)
+//    {
+
+//    }
+
+//    private void QueryTagData(TagTracking tracking)
+//    {
+//        if (isDataInit)
+//        {
+//            foundTracking = tracking;
+//            tagData = null;
+//            Debug.Log("DGJ ===> QueryTagData" + data.listTagData.Count);
+//            for (int i = 0; i < data.listTagData.Count; i++)
+//            {
+//                if (data.listTagData[i].id == tracking.TrackId)
+//                {
+//                    tagData = data.listTagData[i];
+//                    break;
+//                }
+//            }
+//        }
+
+
+//        //if (state)
+//        //{
+//        //    for (int i = 0; i < listEditorTag.Count; i++)
+//        //    {
+//        //        listEditorTag[i].gameObject.SetActive(!state);
+
+//        //        if (listEditorTag[i].id == tracking.TrackId)
+//        //            listEditorTag[i].gameObject.SetActive(true);
+
+//        //    }
+//        //}
+//    }
+
+//    bool state = false;
+//    public void EditorTag(Text text)
+//    {
+//        text.text = state ? "打开" : "关闭";
+//        text.text += "场景编辑";
+
+
+
+//        state = !state;
+//        DragManager.Instance.state = state;
+//        cubeY.SetActive(state);
+
+//        for (int i = 0; i < listObjes.Count; i++)
+//        {
+//            listObjes[i].MeshState(state);
+//        }
+
+//        if (!state && foundTracking != null)
+//        {
+//            for (int i = 0; i < listEditorTag.Count; i++)
+//            {
+//                listEditorTag[i].gameObject.SetActive(state);
+//            }
+
+//            for (int i = 0; i < data.listTagData.Count; i++)
+//            {
+//                //data.listTagData[i].offestPos = data.listTagData[i].tagModel.localPosition;
+//                //data.listTagData[i].offestrot = data.listTagData[i].tagModel.localEulerAngles;
+
+//                for (int j = 0; j < listEditorTag.Count; j++)
+//                {
+//                    if (listEditorTag[j].id == data.listTagData[i].id)
+//                    {
+//                        //data.listTagData[i].offestPos+= listEditorTag[j].transform.localPosition;
+//                        //data.listTagData[i].offestrot+= listEditorTag[j].transform.localEulerAngles;
+
+//                        transform.SetParent(listEditorTag[j].transform.parent);
+//                        data.listTagData[i].offestPos = transform.localPosition;
+//                        data.listTagData[i].offestrot = transform.localEulerAngles;
+//                        transform.parent = null;
+
+//                        Debug.Log("DGJ  ===> 保存 Tag " + listEditorTag[j].id);
+//                    }
+//                }
+//            }
+
+
+//            selectTOldPos = Vector3.zero;
+//            selectTOldRot = Vector3.zero;
+//            DragManager.Instance.triggerState = TriggerState.No;
+//            selectTrigger = null;
+//        }
+
+//        if (!state)
+//        {
+//            SaveAllData();
+//        }
+//    }
+
+//    public void SaveAllData()
+//    {
+//        PlayerPrefs.SetString("MachineRoomTagData", JsonConvert.SerializeObject(data.listTagData));
+
+//        PlayerPrefs.SetString("MachineRoomCabinetData", JsonConvert.SerializeObject(data.listEquipmentData));
+//        PlayerPrefs.SetString("MachineRoomData", JsonConvert.SerializeObject(data));
+
+//        Debug.Log(" 保存成功 " + JsonConvert.SerializeObject(data));
+//    }
+
+//    private void SaveData()
+//    {
+//        if (data != null)
+//        {
+//            string _str = JsonConvert.SerializeObject(data);
+
+//            System.IO.Directory.CreateDirectory(Application.persistentDataPath + "/Data");
+//            string NowTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss").Replace(" ", "_").Replace("/", "_").Replace(":", "_");
+//            Debug.Log(Application.persistentDataPath + "/Data");
+//            using (System.IO.StreamWriter writer = System.IO.File.CreateText(Application.persistentDataPath + "/Data" + "/" + NowTime + "_data.txt"))
+//            {
+//                writer.Write(_str);
+//                //writer.
+//            }
+
+
+//            //UnityEditor.AssetDatabase.Refresh();
+
+//        }
+//    }
+//    private void OnDisable()
+//    {
+//        PlayerPrefs.SetString("MachineRoomTagData", JsonConvert.SerializeObject(data.listTagData));
+//        PlayerPrefs.SetString("MachineRoomCabinetData", JsonConvert.SerializeObject(data.listEquipmentData));
+//        PlayerPrefs.SetString("MachineRoomData", JsonConvert.SerializeObject(data));
+//        SaveData();
+//    }
+
+//}

+ 1 - 1
Assets/Scripts/Managers/BladeServerManager.cs

@@ -406,7 +406,7 @@ public class BladeServerManager : MonoSingleton<BladeServerManager>
             // 找到x-tag  对应的机柜  
             for (int i = 0; i < MachineRoomManager.Instance.listObjes.Count; i++)
             {
-                if(MachineRoomManager.Instance.listObjes[i].deviceParameters!=null&&MachineRoomManager.Instance.listObjes[i].deviceParameters.deviceId == foundItem.ID)
+                if(MachineRoomManager.Instance.listObjes[i].deviceParameters!=null&&MachineRoomManager.Instance.listObjes[i].deviceParameters.deviceId == foundItem.ID.ToString())
                 {
                     // 找到后,
                     foundMachineObj = MachineRoomManager.Instance.listObjes[i];

+ 36 - 102
Assets/Scripts/Managers/MachineRoomManager.cs

@@ -9,6 +9,7 @@ using UnityEngine;
 using UnityEngine.UI;
 using UnityEngine.XR;
 using Ximmerse.XR.Tag;
+using Newtonsoft.Json.Linq;
 
 /// <summary>
 ///  大场景生成和Tag管理
@@ -150,8 +151,8 @@ public class MachineRoomManager : MonoSingleton<MachineRoomManager>
             data.bladeSeverNumber = 4;
             data.bIntervalH = 0.2f;
             data.firstBladeSeverH = 0.4f;
-            data.TagOffestPosY = 1f;
-            data.CameraFar = 10;
+            data.tagOffestPosY = 1f;
+            data.cameraFar = 10;
             data.roomName = "4A-23";
             data.totalCapacity = 8520;
             data.usedCapacity = 4420;
@@ -238,113 +239,46 @@ public class MachineRoomManager : MonoSingleton<MachineRoomManager>
             data.listEquipmentData = JsonConvert.DeserializeObject<List<MachineParameters>>(msg);
         }
 
-        dp1 = new DeviceParameters();
-        dp1.deviceId = 1;
-        dp1.deviceName = "NetView4000_1";
-        dp1.deviceModel = "NetView4000";
-        dp1.deviceType = "流量溯源";
-        dp1.assetTagNumber = "781010G001AAAAAAA";
-        dp1.serialNumber = "B4U120800057";
-        dp1.equipmentNumber = "HW-SEC-OTAAAAAA";
-        dp1.assetStatus = null;
-        dp1.deviceStatus = "运行中";
-        dp1.deliveryData = "2022-11-25";
-        dp1.enabledDate = "2022-05-31";
-        dp1.serverUsageType = null;
-        dp1.typicalModel = null;
-        dp1.equipmentBrand = "神州数码";
-        dp1.manufacturer = "神州数码";
-        dp1.equipmentWeight = 30;
-        dp1.equipmentPower = 1200;
-        dp1.originType = "国产";
-        dp1.collectionCPName = "其它安...";
-        dp1.resourcePool = "湘潭资源池";
-        dp1.wherePOD = "PUB1-1";
-        dp1.networkDomain = "公共域";
-        dp1.city = "湖南";
-        dp1.building = "二级楼";
-        dp1.floor = "5";
-        dp1.computerRoomName = "507机房";
-        dp1.computerRoomCoding = "ITC-4300000...";
-        dp1.cabinetNumber = "P06";
-        dp1.uMessage = "24-24";
-        dp1.deviceOrientation = "前";
-        dp1.manageIP = "10.207.90.50";
-        dp1.saveIP = null;
-        dp1.iPMIIP = null;
-        dp1.businessIP = null;
-        dp1.projectName = "2021年IT基础...";
-        dp1.equipmentSupplier = "神州数码";
-        dp1.assetOwner = "陈国威(chen guo wei)";
-        dp1.territorialPAManager = "张泽宇(zhang ze yu)";
-        dp1.equipmentBTTOrganization = "中移动信息";
-        dp1.facilityManagementOrganization = null;
-        dp1.equipmentMaintenanceOrganization = "湖南公司信...";
-        dp1.businessSystem = null;
-
-        dp2 = new DeviceParameters();
-        dp2.deviceId = 2;
-        dp2.deviceName = "NetView4000_2";
-        dp2.deviceModel = "NetView4000";
-        dp2.deviceType = "流量溯源";
-        dp2.assetTagNumber = "781010G002AAAAAAA";
-        dp2.serialNumber = "B4U120800057";
-        dp2.equipmentNumber = "HW-SEC-OTBBBBB";
-        dp2.assetStatus = null;
-        dp2.deviceStatus = "运行中";
-        dp2.deliveryData = "2022-11-25";
-        dp2.enabledDate = "2022-05-31";
-        dp2.serverUsageType = null;
-        dp2.typicalModel = null;
-        dp2.equipmentBrand = "神州数码";
-        dp2.manufacturer = "神州数码";
-        dp2.equipmentWeight = 30;
-        dp2.equipmentPower = 1200;
-        dp2.originType = "国产";
-        dp2.collectionCPName = "其它安...";
-        dp2.resourcePool = "湘潭资源池";
-        dp2.wherePOD = "PUB1-1";
-        dp2.networkDomain = "公共域";
-        dp2.city = "湖南";
-        dp2.building = "二级楼";
-        dp2.floor = "5";
-        dp2.computerRoomName = "507机房";
-        dp2.computerRoomCoding = "ITC-4300000...";
-        dp2.cabinetNumber = "P06";
-        dp2.uMessage = "24-24";
-        dp2.deviceOrientation = "前";
-        dp2.manageIP = "10.207.90.50";
-        dp2.saveIP = null;
-        dp2.iPMIIP = null;
-        dp2.businessIP = null;
-        dp2.projectName = "2021年IT基础...";
-        dp2.equipmentSupplier = "神州数码";
-        dp2.assetOwner = "陈国威(chen guo wei)";
-        dp2.territorialPAManager = "张泽宇(zhang ze yu)";
-        dp2.equipmentBTTOrganization = "中移动信息";
-        dp2.facilityManagementOrganization = null;
-        dp2.equipmentMaintenanceOrganization = "湖南公司信...";
-        dp2.businessSystem = null;
-
-
-
-      
+     
     }
 
     private void Start()
     {
+        HttpLangChaoTool.Instance.Post(HttpLangChaoAction.sceneInit, "", SceneInitCallBack);
+        //Init();
 
-      //  Init();
+      
+        //  Init();
 
 #if UNITY_EDITOR
-    //   Init();
+        //   Init();
 #endif
     }
 
+    private void SceneInitCallBack(string msg)
+    {
+        Debug.Log(msg);
+
+        JObject json = JObject.Parse(msg);
+
+        if (json["code"].ToString() == "200")
+        {
+            string data = json["data"].ToString();
+
+            this.data = JsonConvert.DeserializeObject<MachineRoomData>(data);
+
+            UICallManager.Instance.MachineRoomInit();
+        }
+        else
+        {
+            Debug.LogError(" 请求场景参数出错 !!! " + HttpLangChaoAction.sceneInit);
+        }
+    }
+
     public void SceneInit()
     {
         SettingMachineRoomData.Instance.Init(data);
-        OpenXRCamera.Instance.head.GetComponent<Camera>().farClipPlane = data.CameraFar;
+        OpenXRCamera.Instance.head.GetComponent<Camera>().farClipPlane = data.cameraFar;
         MachineInit();
         // ServerInit();
         UICallManager.Instance.ShowDeviceTransform(startShowDevice);
@@ -372,7 +306,7 @@ public class MachineRoomManager : MonoSingleton<MachineRoomManager>
             tagObjPoint.transform.localPosition = tagData.offestPos == Vector3.zero ? tagData.pos : tagData.offestPos;
          //   Debug.Log(" MachineRoom T " + tagData.offestPos);
             transform.eulerAngles = new Vector3(0, tagObjPoint.transform.eulerAngles.y, 0);
-            transform.position = new Vector3(tagObjPoint.transform.position.x, foundTracking.transform.position.y + data.TagOffestPosY, tagObjPoint.transform.position.z);
+            transform.position = new Vector3(tagObjPoint.transform.position.x, foundTracking.transform.position.y + data.tagOffestPosY, tagObjPoint.transform.position.z);
         }
 
         if (Input.GetKeyDown(KeyCode.L))
@@ -401,7 +335,7 @@ public class MachineRoomManager : MonoSingleton<MachineRoomManager>
                 {
 
                     MachineParameters mp1 = new MachineParameters();
-                    mp1.deviceId = (i * data.list + j + 1);
+                    mp1.deviceId = (i * data.list + j + 1).ToString();
                     mp1.tagID = -1000;
                   //  mp1.offsetPos = new Vector3(-0.4f, 0, -0.3f);
                     mp1.offsetPos = Vector3.zero;
@@ -415,7 +349,7 @@ public class MachineRoomManager : MonoSingleton<MachineRoomManager>
                     mp1.specification = null;
                     mp1.listDevicesParameters = new List<DeviceParameters>();
 
-                    if (mp1.deviceId % 2 == 0)
+                    if (int.Parse( mp1.deviceId) % 2 == 0)
                         mp1.listDevicesParameters.Add(dp1);
                     else
                         mp1.listDevicesParameters.Add(dp2);
@@ -563,7 +497,7 @@ public class MachineRoomManager : MonoSingleton<MachineRoomManager>
             {
               
                 MachineParameters mp1 = new MachineParameters();
-                mp1.deviceId = (i * data.list + j + 1);
+                mp1.deviceId = (i * data.list + j + 1).ToString();
                 mp1.tagID = -1000;
                 mp1.offsetPos = new Vector3(0f, 0, 0f);
                 mp1.eulerAxle = 3;
@@ -576,7 +510,7 @@ public class MachineRoomManager : MonoSingleton<MachineRoomManager>
                 mp1.specification = null;
                 mp1.listDevicesParameters = new List<DeviceParameters>();
                
-                if (mp1.deviceId % 2 == 0)
+                if (int.Parse( mp1.deviceId) % 2 == 0)
                     mp1.listDevicesParameters.Add(dp1);
                 else
                     mp1.listDevicesParameters.Add(dp2);
@@ -662,7 +596,7 @@ public class MachineRoomManager : MonoSingleton<MachineRoomManager>
 
     public void SettingCameraFar()
     {
-        OpenXRCamera.Instance.head.GetComponent<Camera>().farClipPlane = data.CameraFar;
+        OpenXRCamera.Instance.head.GetComponent<Camera>().farClipPlane = data.cameraFar;
     }
 
     public void OnTrackingFirst(TagTracking tracking)

+ 8 - 0
Assets/Scripts/Net.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: efbc0c8c9a171ff419105fc236061c2a
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 27 - 0
Assets/Scripts/Net/HttpLangChaoAction.cs

@@ -0,0 +1,27 @@
+using SC.XR.Unity;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class HttpLangChaoAction : Singleton<HttpLangChaoAction>
+{
+
+    public const string url = "https://api-fat1.ghz-tech.com/mr-navigator/v1";
+
+    /// <summary>
+    /// 获取刀片机详细信息
+    /// </summary>
+    public const string bladeServer = "/inspection/item";
+    /// <summary>
+    /// 获取机房信息
+    /// </summary>
+    public const string sceneInit = "/inspection/cabinet";
+    /// <summary>
+    /// 修改机柜信息
+    /// </summary>
+    public const string updateCabinet = "/inspection/updateCabinet";
+    /// <summary>
+    /// 修改场景TagData
+    /// </summary>
+    public const string updateTag = "/inspection/updateScene";
+}

+ 11 - 0
Assets/Scripts/Net/HttpLangChaoAction.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 141b159c3eecc8640a3ede9fe76e462d
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 95 - 0
Assets/Scripts/Net/HttpLangChaoTool.cs

@@ -0,0 +1,95 @@
+using Newtonsoft.Json.Linq;
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Text;
+using UnityEngine;
+using UnityEngine.Networking;
+
+public class HttpLangChaoTool : MonoSingleton<HttpLangChaoTool>
+{
+    Dictionary<string, string> requestHeader = new Dictionary<string, string>();  //  header
+
+    public void Post(string methodName, string jsonString, Action<string> CallBack)
+    {
+        StartCoroutine(SendHttp(methodName, jsonString, CallBack));
+    }
+
+    public IEnumerator SendHttp(string methodName, string jsonString, Action<string> CallBack, bool isPost = true, bool isCloud = false)
+    {
+        Debug.Log("Start Queue SendHttp " + methodName);
+        string url;
+        if (methodName.Contains("http"))
+        {
+            url = methodName;
+        }
+        else
+        {
+            url = HttpLangChaoAction.url + methodName;
+
+        }
+        Debug.Log("URL:" + url + " isPost  " + isPost);
+        UnityWebRequest webRequest;
+        if (!isPost)
+        {
+            webRequest = UnityWebRequest.Get(url);
+
+        }
+        else
+        {
+            webRequest = new UnityWebRequest(url, "POST");
+        }
+        initHead();
+        using (webRequest)
+        {
+            if (!isPost)
+            {
+                webRequest.downloadHandler = (DownloadHandler)new DownloadHandlerBuffer();
+                foreach (var v in requestHeader)
+                {
+                    webRequest.SetRequestHeader(v.Key, v.Value);
+                }
+            }
+            else
+            {
+                byte[] bodyRaw = Encoding.UTF8.GetBytes(jsonString);
+                webRequest.uploadHandler = (UploadHandler)new UploadHandlerRaw(bodyRaw);
+                webRequest.downloadHandler = (DownloadHandler)new DownloadHandlerBuffer();
+            }
+
+            foreach (var v in requestHeader)
+            {
+                webRequest.SetRequestHeader(v.Key, v.Value);
+            }
+            yield return webRequest.SendWebRequest();
+
+            Debug.Log("CallBack==>" + webRequest.downloadHandler.text);
+            if (webRequest.isHttpError || webRequest.isNetworkError)
+            {
+                Debug.LogError(url + "\n" + webRequest.error + "\n" + webRequest.downloadHandler.text);
+                string error = webRequest.downloadHandler.text;
+                JObject jObject = JObject.Parse(error);
+                CallBack(jObject["message"].ToString());
+            }
+            else
+            {
+                //Debug.Log(webRequest.downloadHandler.text);
+                var mes = webRequest.downloadHandler.text;
+
+                CallBack(mes);
+            }
+        }
+
+    }
+
+    public void initHead()
+    {
+        requestHeader.Clear();
+        //if (UserInfo.Instance.Token != "" && UserInfo.Instance.Token != null)
+        //{
+        //    requestHeader.Add("x-token", UserInfo.Instance.Token);
+        //    requestHeader.Add("authorization", UserInfo.Instance.Token);
+        //}
+        requestHeader.Add("Content-Type", "application/json");
+    }
+}

+ 11 - 0
Assets/Scripts/Net/HttpLangChaoTool.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 9eb2c1120b825d14dbaf47b974de7085
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 6 - 5
Assets/Scripts/UICallManager.cs

@@ -25,8 +25,8 @@ public class UICallManager : MonoSingleton<UICallManager>,IController
         DispatcherBase.KeyUpDelegateRegister(AnyUp);
         OnTrackFound += OnTrackfound;
         OnTrackLast += OnTracklast;
-        MachineRoomInit("");
-        MachineRoomInit();
+      //  MachineRoomInit("");
+       // MachineRoomInit();
        
     }
 
@@ -360,9 +360,10 @@ public class UICallManager : MonoSingleton<UICallManager>,IController
     public void MachineRoomInit()
     {
         MachineRoomManager.Instance.SceneInit();
+     
     }
 
-    public MachineObj QueryMachineObj(int id)
+    public MachineObj QueryMachineObj(string id)
     {
         for (int i = 0; i < MachineRoomManager.Instance.listObjes.Count; i++)
         {
@@ -375,7 +376,7 @@ public class UICallManager : MonoSingleton<UICallManager>,IController
 
         return null;
     }
-    
+
     /// <summary>
     /// 获取ShowDevice位置
     /// </summary>
@@ -419,7 +420,7 @@ public class UICallManager : MonoSingleton<UICallManager>,IController
         for (int i = 0; i < 5;i++)
         {
             AlarmData AlarmData = new AlarmData();
-            AlarmData.deviceId = i;
+            AlarmData.deviceId = i.ToString();
             AlarmData.deviceName = "设备" + i;
             AlarmData.title = "问题" + i;
             AlarmData.carryingSystem = "承载系统" + i;