Browse Source

菜单跟随逻辑修改 路线修改 X-Tag可以定位场景

DGJ 1 year ago
parent
commit
45cdc09bbf

+ 1 - 1
Assets/Game/ShowXunJian/StartXunJian.cs

@@ -76,7 +76,7 @@ namespace GHZLangChao
         }
         public void Navigationing()
         {
-            ScenesManager.Instance.showWindow(ScenesManager.SceneType.Navigationing);
+         //   ScenesManager.Instance.showWindow(ScenesManager.SceneType.Navigationing);
         }
 #endregion
     }

+ 1 - 1
Assets/Game/ShowXunJian/XunJianManager.cs

@@ -44,7 +44,7 @@ namespace GHZLangChao
 
         public void Navigationing()
         {
-            ScenesManager.Instance.showWindow(ScenesManager.SceneType.Navigationing);
+          //  ScenesManager.Instance.showWindow(ScenesManager.SceneType.Navigationing);
         }
 
         /// <summary>

+ 3 - 3
Assets/Prefab/Route/Materials/LineMat_1.mat

@@ -40,11 +40,11 @@ Material:
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
     - _EmissionMap:
-        m_Texture: {fileID: 2800000, guid: d3f7a4a407ccaee48915bc7827f79dd6, type: 3}
+        m_Texture: {fileID: 2800000, guid: bf46ee72c5bab9d4781d5b3e0b24ee82, type: 3}
         m_Scale: {x: 1, y: 3}
         m_Offset: {x: 0, y: 0}
     - _MainTex:
-        m_Texture: {fileID: 2800000, guid: d3f7a4a407ccaee48915bc7827f79dd6, type: 3}
+        m_Texture: {fileID: 2800000, guid: bf46ee72c5bab9d4781d5b3e0b24ee82, type: 3}
         m_Scale: {x: 1, y: 3}
         m_Offset: {x: 0, y: 0}
     - _MetallicGlossMap:
@@ -78,6 +78,6 @@ Material:
     - _UVSec: 0
     - _ZWrite: 0
     m_Colors:
-    - _Color: {r: 0, g: 0.004813671, b: 1, a: 1}
+    - _Color: {r: 0, g: 0.17752647, b: 1, a: 1}
     - _EmissionColor: {r: 0, g: 0.54112554, b: 1, a: 1}
   m_BuildTextureStacks: []

+ 1 - 1
Assets/Prefab/Route/Materials/LineMat_1_High.mat

@@ -46,7 +46,7 @@ Material:
     - _MainTex:
         m_Texture: {fileID: 2800000, guid: d3f7a4a407ccaee48915bc7827f79dd6, type: 3}
         m_Scale: {x: 1, y: 3}
-        m_Offset: {x: 0, y: -12.60003}
+        m_Offset: {x: 0, y: -15.450041}
     - _MetallicGlossMap:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}

+ 8 - 3
Assets/Prefab/Route/Materials/LineMat_2.mat

@@ -2,14 +2,17 @@
 %TAG !u! tag:unity3d.com,2011:
 --- !u!21 &2100000
 Material:
-  serializedVersion: 6
+  serializedVersion: 8
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_Name: LineMat_2
   m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
-  m_ShaderKeywords: _ALPHABLEND_ON _EMISSION
+  m_ValidKeywords:
+  - _ALPHABLEND_ON
+  - _EMISSION
+  m_InvalidKeywords: []
   m_LightmapFlags: 1
   m_EnableInstancingVariants: 0
   m_DoubleSidedGI: 0
@@ -43,7 +46,7 @@ Material:
     - _MainTex:
         m_Texture: {fileID: 2800000, guid: 8d2978ebe0e61344e84ac48fa5d7426c, type: 3}
         m_Scale: {x: 1, y: 1}
-        m_Offset: {x: 0, y: 0}
+        m_Offset: {x: 0, y: -48.79954}
     - _MetallicGlossMap:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
@@ -56,6 +59,7 @@ Material:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}
         m_Offset: {x: 0, y: 0}
+    m_Ints: []
     m_Floats:
     - _BumpScale: 1
     - _Cutoff: 0.5
@@ -76,3 +80,4 @@ Material:
     m_Colors:
     - _Color: {r: 1, g: 1, b: 1, a: 1}
     - _EmissionColor: {r: 1, g: 1, b: 1, a: 1}
+  m_BuildTextureStacks: []

BIN
Assets/Prefab/Route/route.png


+ 135 - 0
Assets/Prefab/Route/route.png.meta

@@ -0,0 +1,135 @@
+fileFormatVersion: 2
+guid: a1d2df90533240f4ba251f84e35e5426
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 12
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  vTOnly: 0
+  ignoreMasterTextureLimit: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: 1
+    aniso: 1
+    mipBias: 0
+    wrapU: 0
+    wrapV: 0
+    wrapW: 0
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  singleChannelComponent: 0
+  flipbookRows: 1
+  flipbookColumns: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  ignorePngGamma: 0
+  applyGammaDecoding: 0
+  cookieLightType: 0
+  platformSettings:
+  - serializedVersion: 3
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Server
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Android
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+    nameFileIdTable: {}
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
Assets/Prefab/Route/route1.png


+ 135 - 0
Assets/Prefab/Route/route1.png.meta

@@ -0,0 +1,135 @@
+fileFormatVersion: 2
+guid: bf46ee72c5bab9d4781d5b3e0b24ee82
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 12
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  vTOnly: 0
+  ignoreMasterTextureLimit: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: 1
+    aniso: 1
+    mipBias: 0
+    wrapU: 0
+    wrapV: 0
+    wrapW: 0
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  singleChannelComponent: 0
+  flipbookRows: 1
+  flipbookColumns: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  ignorePngGamma: 0
+  applyGammaDecoding: 0
+  cookieLightType: 0
+  platformSettings:
+  - serializedVersion: 3
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Server
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Android
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+    nameFileIdTable: {}
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 1 - 1
Assets/Resources/RouteItem.prefab

@@ -118,4 +118,4 @@ MonoBehaviour:
   Point: {fileID: 0}
   EndPos: {x: 0, y: 0, z: 0}
   StartPos: {x: 0, y: 0, z: 0}
-  material_High: {fileID: 2100000, guid: 0f8ae0187a5a6c04eb7606fe00b5e5d2, type: 2}
+  material_High: {fileID: 2100000, guid: 3a5a2e1c7de626148bc11b260327baca, type: 2}

+ 250 - 43
Assets/Scenes/LangChaoDemo2.unity

@@ -1413,7 +1413,7 @@ MonoBehaviour:
   m_EditorClassIdentifier: 
   trackID: 22
   trackingIsLost: 0
-  m_debugView: 0
+  m_debugView: 1
   m_size: 0.17
 --- !u!4 &108617014
 Transform:
@@ -1429,7 +1429,7 @@ Transform:
   m_Children:
   - {fileID: 347313460}
   m_Father: {fileID: 0}
-  m_RootOrder: 17
+  m_RootOrder: 37
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!114 &108617015
 MonoBehaviour:
@@ -1689,7 +1689,7 @@ Transform:
   m_ConstrainProportionsScale: 0
   m_Children: []
   m_Father: {fileID: 0}
-  m_RootOrder: 23
+  m_RootOrder: 16
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!1 &154394636
 GameObject:
@@ -1795,7 +1795,7 @@ MonoBehaviour:
   m_EditorClassIdentifier: 
   trackID: 142
   trackingIsLost: 0
-  m_debugView: 0
+  m_debugView: 1
   m_size: 0.17
 --- !u!4 &154394639
 Transform:
@@ -1811,7 +1811,7 @@ Transform:
   m_Children:
   - {fileID: 503826677}
   m_Father: {fileID: 0}
-  m_RootOrder: 36
+  m_RootOrder: 40
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!1 &160490922
 GameObject:
@@ -1845,7 +1845,7 @@ MonoBehaviour:
   m_EditorClassIdentifier: 
   trackID: 43
   trackingIsLost: 0
-  m_debugView: 0
+  m_debugView: 1
   m_size: 0.17
 --- !u!4 &160490924
 Transform:
@@ -1861,7 +1861,7 @@ Transform:
   m_Children:
   - {fileID: 609639383}
   m_Father: {fileID: 0}
-  m_RootOrder: 11
+  m_RootOrder: 34
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!114 &160490925
 MonoBehaviour:
@@ -2662,7 +2662,7 @@ RectTransform:
   m_Children:
   - {fileID: 1145787686}
   m_Father: {fileID: 0}
-  m_RootOrder: 25
+  m_RootOrder: 18
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0, y: 0}
   m_AnchorMax: {x: 0, y: 0}
@@ -2764,7 +2764,7 @@ Transform:
   m_ConstrainProportionsScale: 0
   m_Children: []
   m_Father: {fileID: 0}
-  m_RootOrder: 38
+  m_RootOrder: 29
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!1001 &258612956
 PrefabInstance:
@@ -2995,8 +2995,9 @@ Transform:
   m_Children:
   - {fileID: 1504529038}
   - {fileID: 781181986}
+  - {fileID: 914680420}
   m_Father: {fileID: 0}
-  m_RootOrder: 16
+  m_RootOrder: 12
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!114 &281315257
 MonoBehaviour:
@@ -3012,6 +3013,8 @@ MonoBehaviour:
   m_EditorClassIdentifier: 
   door: {fileID: 1504529038}
   navigatorPoint: {fileID: 781181986}
+  dataItem: {fileID: 0}
+  xTag: {fileID: 914680420}
   isSingle: 0
 --- !u!1 &283957523
 GameObject:
@@ -3125,7 +3128,7 @@ MonoBehaviour:
   m_EditorClassIdentifier: 
   trackID: 23
   trackingIsLost: 0
-  m_debugView: 0
+  m_debugView: 1
   m_size: 0.17
 --- !u!4 &284208613
 Transform:
@@ -3141,7 +3144,7 @@ Transform:
   m_Children:
   - {fileID: 656363743}
   m_Father: {fileID: 0}
-  m_RootOrder: 18
+  m_RootOrder: 38
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!114 &284208614
 MonoBehaviour:
@@ -3410,6 +3413,7 @@ GameObject:
   - component: {fileID: 289110133}
   - component: {fileID: 289110132}
   - component: {fileID: 289110136}
+  - component: {fileID: 289110137}
   m_Layer: 0
   m_Name: Canvas
   m_TagString: Untagged
@@ -3516,6 +3520,18 @@ MonoBehaviour:
   dhBtn: {fileID: 455569497}
   rtcBtn: {fileID: 44426570}
   uiFollow: {fileID: 0}
+--- !u!114 &289110137
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 289110131}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 948b9ab040508dc48a294230f85b39e2, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
 --- !u!1 &302962888
 GameObject:
   m_ObjectHideFlags: 0
@@ -3546,7 +3562,7 @@ Transform:
   m_Children:
   - {fileID: 2056682100}
   m_Father: {fileID: 0}
-  m_RootOrder: 21
+  m_RootOrder: 14
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!1 &305417998
 GameObject:
@@ -4120,7 +4136,7 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 6007065485426162334, guid: 7cd0ceba7525bdc42a36be841a8aad16, type: 3}
       propertyPath: m_RootOrder
-      value: 32
+      value: 25
       objectReference: {fileID: 0}
     - target: {fileID: 6007065485426162334, guid: 7cd0ceba7525bdc42a36be841a8aad16, type: 3}
       propertyPath: m_LocalPosition.x
@@ -5709,6 +5725,14 @@ PrefabInstance:
   m_Modification:
     m_TransformParent: {fileID: 289110135}
     m_Modifications:
+    - target: {fileID: 531677169668711652, guid: cac2153774ed21347949529c189c2996, type: 3}
+      propertyPath: m_RaycastTarget
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 3788643109077608353, guid: cac2153774ed21347949529c189c2996, type: 3}
+      propertyPath: m_Enabled
+      value: 1
+      objectReference: {fileID: 0}
     - target: {fileID: 5466424356445212017, guid: cac2153774ed21347949529c189c2996, type: 3}
       propertyPath: m_Pivot.x
       value: 0.5
@@ -5809,6 +5833,34 @@ PrefabInstance:
       propertyPath: m_Name
       value: HeadBtn
       objectReference: {fileID: 0}
+    - target: {fileID: 6114604666720134921, guid: cac2153774ed21347949529c189c2996, type: 3}
+      propertyPath: m_Enabled
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 6114604666720134921, guid: cac2153774ed21347949529c189c2996, type: 3}
+      propertyPath: m_Interactable
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 6151485519124196163, guid: cac2153774ed21347949529c189c2996, type: 3}
+      propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.size
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 6151485519124196163, guid: cac2153774ed21347949529c189c2996, type: 3}
+      propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Target
+      value: 
+      objectReference: {fileID: 0}
+    - target: {fileID: 6151485519124196163, guid: cac2153774ed21347949529c189c2996, type: 3}
+      propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_MethodName
+      value: 
+      objectReference: {fileID: 0}
+    - target: {fileID: 6151485519124196163, guid: cac2153774ed21347949529c189c2996, type: 3}
+      propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_TargetAssemblyTypeName
+      value: 
+      objectReference: {fileID: 0}
+    - target: {fileID: 6151485519124196163, guid: cac2153774ed21347949529c189c2996, type: 3}
+      propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_ObjectArgumentAssemblyTypeName
+      value: 
+      objectReference: {fileID: 0}
     m_RemovedComponents:
     - {fileID: 4193849397670049651, guid: cac2153774ed21347949529c189c2996, type: 3}
   m_SourcePrefab: {fileID: 100100000, guid: cac2153774ed21347949529c189c2996, type: 3}
@@ -5842,7 +5894,7 @@ Transform:
   m_ConstrainProportionsScale: 0
   m_Children: []
   m_Father: {fileID: 0}
-  m_RootOrder: 28
+  m_RootOrder: 21
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!114 &453102437
 MonoBehaviour:
@@ -7286,7 +7338,7 @@ Transform:
   - {fileID: 2050305761}
   - {fileID: 643100344}
   m_Father: {fileID: 0}
-  m_RootOrder: 20
+  m_RootOrder: 13
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!114 &571089642
 MonoBehaviour:
@@ -7766,7 +7818,7 @@ MonoBehaviour:
   m_EditorClassIdentifier: 
   trackID: 64
   trackingIsLost: 0
-  m_debugView: 0
+  m_debugView: 1
   m_size: 0.17
 --- !u!4 &618326834
 Transform:
@@ -7782,7 +7834,7 @@ Transform:
   m_Children:
   - {fileID: 2147039166}
   m_Father: {fileID: 0}
-  m_RootOrder: 13
+  m_RootOrder: 36
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!114 &618326835
 MonoBehaviour:
@@ -8356,7 +8408,7 @@ RectTransform:
   m_Children:
   - {fileID: 877159228}
   m_Father: {fileID: 0}
-  m_RootOrder: 14
+  m_RootOrder: 10
   m_LocalEulerAnglesHint: {x: -29.84, y: 0, z: 0}
   m_AnchorMin: {x: 0, y: 0}
   m_AnchorMax: {x: 0, y: 0}
@@ -9031,7 +9083,7 @@ Transform:
   m_ConstrainProportionsScale: 0
   m_Children: []
   m_Father: {fileID: 0}
-  m_RootOrder: 30
+  m_RootOrder: 23
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!1 &684664681
 GameObject:
@@ -11811,6 +11863,103 @@ CanvasRenderer:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 912364730}
   m_CullTransparentMesh: 1
+--- !u!1 &914680419
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 914680420}
+  - component: {fileID: 914680423}
+  - component: {fileID: 914680422}
+  - component: {fileID: 914680421}
+  m_Layer: 0
+  m_Name: XTag
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &914680420
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 914680419}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 0.1, y: 0.1, z: 0.1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 281315256}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!65 &914680421
+BoxCollider:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 914680419}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Size: {x: 1, y: 1, z: 1}
+  m_Center: {x: 0, y: 0, z: 0}
+--- !u!23 &914680422
+MeshRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 914680419}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_StaticShadowCaster: 0
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_RayTracingMode: 2
+  m_RayTraceProcedural: 0
+  m_RenderingLayerMask: 1
+  m_RendererPriority: 0
+  m_Materials:
+  - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 1
+  m_ReceiveGI: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 1
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0
+  m_AdditionalVertexStreams: {fileID: 0}
+--- !u!33 &914680423
+MeshFilter:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 914680419}
+  m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
 --- !u!1 &916107955
 GameObject:
   m_ObjectHideFlags: 0
@@ -12980,7 +13129,7 @@ Transform:
   - {fileID: 395315453}
   - {fileID: 1429598954}
   m_Father: {fileID: 0}
-  m_RootOrder: 26
+  m_RootOrder: 19
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!114 &1012225064
 MonoBehaviour:
@@ -13330,7 +13479,7 @@ Transform:
   m_ConstrainProportionsScale: 0
   m_Children: []
   m_Father: {fileID: 0}
-  m_RootOrder: 33
+  m_RootOrder: 26
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!114 &1039426617
 MonoBehaviour:
@@ -14225,7 +14374,7 @@ Transform:
   m_Children:
   - {fileID: 1321099324}
   m_Father: {fileID: 0}
-  m_RootOrder: 15
+  m_RootOrder: 11
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!23 &1111232647
 MeshRenderer:
@@ -14404,7 +14553,7 @@ MonoBehaviour:
   m_EditorClassIdentifier: 
   trackID: 61
   trackingIsLost: 0
-  m_debugView: 0
+  m_debugView: 1
   m_size: 0.17
 --- !u!4 &1127038881
 Transform:
@@ -14420,7 +14569,7 @@ Transform:
   m_Children:
   - {fileID: 340611748}
   m_Father: {fileID: 0}
-  m_RootOrder: 12
+  m_RootOrder: 35
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!114 &1127038882
 MonoBehaviour:
@@ -15095,7 +15244,7 @@ RectTransform:
   m_Children:
   - {fileID: 1990114660}
   m_Father: {fileID: 0}
-  m_RootOrder: 34
+  m_RootOrder: 27
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0, y: 0}
   m_AnchorMax: {x: 0, y: 0}
@@ -15440,7 +15589,7 @@ Transform:
   m_ConstrainProportionsScale: 0
   m_Children: []
   m_Father: {fileID: 0}
-  m_RootOrder: 39
+  m_RootOrder: 30
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!1001 &1299352958
 PrefabInstance:
@@ -16008,6 +16157,7 @@ MonoBehaviour:
   foundTag: {fileID: 0}
   foundID: 
   foundItem: {fileID: 0}
+  foundMachineObj: {fileID: 0}
   foundAngle: 90
   showDis: 0
   fadeDis: 0
@@ -16026,7 +16176,7 @@ Transform:
   m_ConstrainProportionsScale: 0
   m_Children: []
   m_Father: {fileID: 0}
-  m_RootOrder: 27
+  m_RootOrder: 20
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!1 &1347902563
 GameObject:
@@ -16249,7 +16399,7 @@ MonoBehaviour:
   m_EditorClassIdentifier: 
   trackID: 31
   trackingIsLost: 0
-  m_debugView: 0
+  m_debugView: 1
   m_size: 0.17
 --- !u!4 &1353351976
 Transform:
@@ -16265,7 +16415,7 @@ Transform:
   m_Children:
   - {fileID: 1767066921}
   m_Father: {fileID: 0}
-  m_RootOrder: 10
+  m_RootOrder: 33
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!114 &1353351977
 MonoBehaviour:
@@ -17154,7 +17304,7 @@ MonoBehaviour:
   m_EditorClassIdentifier: 
   trackID: 141
   trackingIsLost: 0
-  m_debugView: 0
+  m_debugView: 1
   m_size: 0.17
 --- !u!4 &1424554104
 Transform:
@@ -17170,7 +17320,7 @@ Transform:
   m_Children:
   - {fileID: 1764105085}
   m_Father: {fileID: 0}
-  m_RootOrder: 37
+  m_RootOrder: 41
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!1 &1429598953
 GameObject:
@@ -17662,7 +17812,7 @@ Transform:
   m_ConstrainProportionsScale: 0
   m_Children: []
   m_Father: {fileID: 0}
-  m_RootOrder: 41
+  m_RootOrder: 32
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!114 &1496039442
 MonoBehaviour:
@@ -17703,7 +17853,7 @@ Transform:
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 1504529037}
-  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
   m_LocalPosition: {x: 0, y: 0, z: 0.601}
   m_LocalScale: {x: 1, y: 0.2874, z: 0.11055}
   m_ConstrainProportionsScale: 0
@@ -20024,7 +20174,7 @@ Transform:
   m_ConstrainProportionsScale: 0
   m_Children: []
   m_Father: {fileID: 0}
-  m_RootOrder: 29
+  m_RootOrder: 22
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!1 &1764105084
 GameObject:
@@ -21614,6 +21764,63 @@ CanvasRenderer:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 1936791521}
   m_CullTransparentMesh: 1
+--- !u!1001 &1938444458
+PrefabInstance:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 3745312271860900176, guid: 5c04824020f93a64b99e33f31b4884a5, type: 3}
+      propertyPath: m_Name
+      value: RouteItem
+      objectReference: {fileID: 0}
+    - target: {fileID: 3745312271860900177, guid: 5c04824020f93a64b99e33f31b4884a5, type: 3}
+      propertyPath: m_RootOrder
+      value: 42
+      objectReference: {fileID: 0}
+    - target: {fileID: 3745312271860900177, guid: 5c04824020f93a64b99e33f31b4884a5, type: 3}
+      propertyPath: m_LocalPosition.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 3745312271860900177, guid: 5c04824020f93a64b99e33f31b4884a5, type: 3}
+      propertyPath: m_LocalPosition.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 3745312271860900177, guid: 5c04824020f93a64b99e33f31b4884a5, type: 3}
+      propertyPath: m_LocalPosition.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 3745312271860900177, guid: 5c04824020f93a64b99e33f31b4884a5, type: 3}
+      propertyPath: m_LocalRotation.w
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 3745312271860900177, guid: 5c04824020f93a64b99e33f31b4884a5, type: 3}
+      propertyPath: m_LocalRotation.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 3745312271860900177, guid: 5c04824020f93a64b99e33f31b4884a5, type: 3}
+      propertyPath: m_LocalRotation.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 3745312271860900177, guid: 5c04824020f93a64b99e33f31b4884a5, type: 3}
+      propertyPath: m_LocalRotation.z
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 3745312271860900177, guid: 5c04824020f93a64b99e33f31b4884a5, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 3745312271860900177, guid: 5c04824020f93a64b99e33f31b4884a5, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.y
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 3745312271860900177, guid: 5c04824020f93a64b99e33f31b4884a5, type: 3}
+      propertyPath: m_LocalEulerAnglesHint.z
+      value: 0
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_SourcePrefab: {fileID: 100100000, guid: 5c04824020f93a64b99e33f31b4884a5, type: 3}
 --- !u!1001 &1945734239
 PrefabInstance:
   m_ObjectHideFlags: 0
@@ -21943,7 +22150,7 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 8086746782638953769, guid: 2cb5ff62fa16eed42bdf0f348ac8acc0, type: 3}
       propertyPath: m_RootOrder
-      value: 40
+      value: 31
       objectReference: {fileID: 0}
     - target: {fileID: 8086746782638953769, guid: 2cb5ff62fa16eed42bdf0f348ac8acc0, type: 3}
       propertyPath: m_LocalPosition.x
@@ -22188,7 +22395,7 @@ Transform:
   m_ConstrainProportionsScale: 0
   m_Children: []
   m_Father: {fileID: 0}
-  m_RootOrder: 24
+  m_RootOrder: 17
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!114 &1954795442
 MonoBehaviour:
@@ -22337,7 +22544,7 @@ Transform:
   m_ConstrainProportionsScale: 0
   m_Children: []
   m_Father: {fileID: 0}
-  m_RootOrder: 35
+  m_RootOrder: 28
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!1 &1957186011
 GameObject:
@@ -22647,7 +22854,7 @@ Transform:
   m_ConstrainProportionsScale: 0
   m_Children: []
   m_Father: {fileID: 0}
-  m_RootOrder: 22
+  m_RootOrder: 15
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!1 &1990114659
 GameObject:
@@ -23239,7 +23446,7 @@ MonoBehaviour:
   m_EditorClassIdentifier: 
   trackID: 65
   trackingIsLost: 0
-  m_debugView: 0
+  m_debugView: 1
   m_size: 0.17
 --- !u!4 &2007046216
 Transform:
@@ -23255,7 +23462,7 @@ Transform:
   m_Children:
   - {fileID: 197407318}
   m_Father: {fileID: 0}
-  m_RootOrder: 19
+  m_RootOrder: 39
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!1 &2025435767
 GameObject:
@@ -23392,7 +23599,7 @@ GameObject:
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
-  m_IsActive: 0
+  m_IsActive: 1
 --- !u!114 &2050305758
 MonoBehaviour:
   m_ObjectHideFlags: 0
@@ -25212,7 +25419,7 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 8955719703749531883, guid: b8f06988b095a5b47b02ae16f8140d34, type: 3}
       propertyPath: m_RootOrder
-      value: 31
+      value: 24
       objectReference: {fileID: 0}
     - target: {fileID: 8955719703749531883, guid: b8f06988b095a5b47b02ae16f8140d34, type: 3}
       propertyPath: m_LocalScale.x

+ 4 - 2
Assets/Scripts/Data/MachineObj.cs

@@ -7,7 +7,8 @@ public class MachineObj : MonoBehaviour
     public Transform door;
     public Transform navigatorPoint;
     public MachineParameters deviceParameters;
-
+    public DataItem dataItem;
+    public Transform xTag;
     public bool isSingle;
     private MeshRenderer mesh;
     public void Setting(bool isSingle) //  是否是单行
@@ -18,7 +19,8 @@ public class MachineObj : MonoBehaviour
         navigatorPoint.transform.localPosition = isSingle ? new Vector3(0, 0, 1f) : new Vector3(0, 0, -1f);
         door.gameObject.SetActive(false);
         navigatorPoint.gameObject.SetActive(false);
-
+        xTag.transform.localPosition = isSingle ? new Vector3(0, 0, 0.6f) : new Vector3(0, 0, -0.6f);
+        xTag.gameObject.SetActive(false);
         mesh = gameObject.GetComponent<MeshRenderer>();
         mesh.enabled = false;
     }

+ 696 - 0
Assets/Scripts/MachineSceneManager.cs

@@ -0,0 +1,696 @@
+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), 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();
+    }
+
+}

+ 11 - 0
Assets/Scripts/MachineSceneManager.cs.meta

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

+ 33 - 3
Assets/Scripts/Managers/BladeServerManager.cs

@@ -34,6 +34,11 @@ public class BladeServerManager : MonoSingleton<BladeServerManager>
     /// </summary>
     public DataItem foundItem;
 
+    /// <summary>
+    ///  当前Tag 对应的机柜
+    /// </summary>
+    public MachineObj foundMachineObj;
+
     /// <summary>
     ///  检测角度
     /// </summary>
@@ -164,11 +169,26 @@ public class BladeServerManager : MonoSingleton<BladeServerManager>
                 if (isSync)
                 {
                     Debug.Log("Dis " + dis + "  Angle" + angle + "  showDis  " + showDis + "  fadeDis " + fadeDis);
-                    //foundItem.transform.Translate(new Vector3(0, point.eulerAngles.y, 0), Time.deltaTime * 10); 
-                    foundItem.transform.eulerAngles = new Vector3(0, point.eulerAngles.y, 0);
-                    foundItem.transform.position = point.transform.position;
+
+                    Debug.Log("FoundItem " + foundItem.transform.position + "  point" + point.transform.position + "  CA  " + new Vector3(point.transform.position.x - foundItem.transform.position.x, 0, point.position.z - foundItem.transform.position.z));
+                    //foundItem.transform.Translate(new Vector3(0, point.eulerAngles.y, 0), Time.deltaTime * 10);
+
+                    //foundItem.transform.eulerAngles = new Vector3(0, point.eulerAngles.y, 0);
+                    //foundItem.transform.position = point.transform.position;
                     UICallManager.Instance.OnTrackfound(foundItem);
                     isSync = false;
+
+
+
+                    MachineRoomManager.Instance.transform.eulerAngles = new Vector3(MachineRoomManager.Instance.transform.eulerAngles.x, point.eulerAngles.y+180, MachineRoomManager.Instance.transform.eulerAngles.z);
+
+                    MachineRoomManager.Instance.transform.position += new Vector3(point.transform.position.x - foundItem.transform.position.x, point.position.y - foundItem.transform.position.y, point.position.z - foundItem.transform.position.z);
+
+                    float offy = OpenXRCamera.Instance.transform.position.y - foundItem.transform.position.y;
+
+                    offy = offy * 0.05f;
+
+                    MachineRoomManager.Instance.transform.position += new Vector3(0, offy, 0);
                 }
 
                
@@ -380,6 +400,16 @@ public class BladeServerManager : MonoSingleton<BladeServerManager>
                 }
             }
 
+            // 找到x-tag  对应的机柜  
+            for (int i = 0; i < MachineRoomManager.Instance.listObjes.Count; i++)
+            {
+                if(MachineRoomManager.Instance.listObjes[i].deviceParameters.deviceId == foundItem.ID)
+                {
+                    // 找到后,
+                    foundMachineObj = MachineRoomManager.Instance.listObjes[i];
+                }
+            }
+
             if (foundItem != null && foundItem.tagId != foundID)
             {
                 foundItem.gameObject.SetActive(false);

+ 5 - 1
Assets/Scripts/Managers/DragManager.cs

@@ -38,7 +38,11 @@ public class DragManager : MonoSingleton<DragManager>
                 MachineRoomManager.Instance.transform.eulerAngles -= new Vector3(0, selectTOldRot.y - selectTrigger.eulerAngles.y, 0);
                 selectTOldRot = selectTrigger.eulerAngles;
 
-                MachineRoomManager.Instance.transform.position -= new Vector3(selectTOldPos.x - selectTrigger.position.x, 0, selectTOldPos.z - selectTrigger.position.z);
+                //MachineRoomManager.Instance.transform.position -= new Vector3(selectTOldPos.x - selectTrigger.position.x, 0, selectTOldPos.z - selectTrigger.position.z);
+                //selectTOldPos = selectTrigger.position;
+
+                
+                MachineRoomManager.Instance.transform.position -= new Vector3(selectTOldPos.x - selectTrigger.position.x, selectTOldPos.y - selectTrigger.position.y, selectTOldPos.z - selectTrigger.position.z);
                 selectTOldPos = selectTrigger.position;
             }
 

+ 55 - 45
Assets/Scripts/Managers/MachineRoomManager.cs

@@ -86,7 +86,7 @@ public class MachineRoomManager : MonoSingleton<MachineRoomManager>
         listTagid.Add(4361);
         listTagid.Add(4364);
 
-       // PlayerPrefs.DeleteAll();
+      //  PlayerPrefs.DeleteAll();
         if (PlayerPrefs.HasKey("MachineRoomData"))
         {
             string msg = PlayerPrefs.GetString("MachineRoomData");
@@ -119,15 +119,15 @@ public class MachineRoomManager : MonoSingleton<MachineRoomManager>
             data = new MachineRoomData();
             data.line = 4;
             data.list = 3;
-            data.intervalW = 1;
-            data.intervalL = 2;
+            data.intervalW = 0.1f;
+            data.intervalL = 1f;
             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.CameraFar = 10;
             data.roomName = "4A-23";
             data.totalCapacity = 8520;
             data.usedCapacity = 4420;
@@ -150,33 +150,6 @@ public class MachineRoomManager : MonoSingleton<MachineRoomManager>
             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
         {
@@ -185,28 +158,32 @@ public class MachineRoomManager : MonoSingleton<MachineRoomManager>
 
             MachineRoomTagData data1 = new MachineRoomTagData();
             data1.id = 65;
-            data1.pos = new Vector3(4.5f, 0, 0);
+            //data1.pos = new Vector3(4.5f, 0, 0);
+            data1.pos = Vector3.zero;
             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.pos = new Vector3(4.5f, 0, 1.8f);
+            data2.pos = Vector3.zero;
             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.pos = new Vector3(4.5f, 0, 3.7f);
+            data3.pos = Vector3.zero;
             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.pos = new Vector3(4.5f, 2.5f, 3.7f);
+            data4.pos = Vector3.zero;
             data4.rot = new Vector3(0, 180, 0);
             data4.offestPos = Vector3.zero;
             data4.offestrot = Vector3.zero;
@@ -214,7 +191,8 @@ public class MachineRoomManager : MonoSingleton<MachineRoomManager>
 
             MachineRoomTagData data5 = new MachineRoomTagData();
             data5.id = 142;
-            data5.pos = new Vector3(4.5f, 2.5f, 3.7f);
+            // data5.pos = new Vector3(4.5f, 2.5f, 3.7f);
+            data5.pos = Vector3.zero;
             data5.rot = new Vector3(0, 180, 0);
             data5.offestPos = Vector3.zero;
             data5.offestrot = Vector3.zero;
@@ -344,7 +322,7 @@ public class MachineRoomManager : MonoSingleton<MachineRoomManager>
         SettingMachineRoomData.Instance.Init(data);
         OpenXRCamera.Instance.head.GetComponent<Camera>().farClipPlane = data.CameraFar;
         MachineInit();
-        ServerInit();
+       // ServerInit();
 
         isDataInit = true;
     }
@@ -368,12 +346,12 @@ public class MachineRoomManager : MonoSingleton<MachineRoomManager>
 
             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;
-
+            Debug.Log(" MachineRoom T ");
             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))
+        if (Input.GetKeyDown(KeyCode.L))
         {
             OnTrackingFound(foundTracking);
         }
@@ -401,8 +379,9 @@ public class MachineRoomManager : MonoSingleton<MachineRoomManager>
                     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.offsetPos = new Vector3(-0.4f, 0, -0.3f);
+                    mp1.offsetPos = Vector3.zero;
+                   mp1.eulerAxle = 3;
                     mp1.deviceName = "设备" + (i * data.list + j + 1).ToString();
                     mp1.carryingSystem = "承载系统1";
                     mp1.deviceLocation = "4A-23机房";
@@ -429,9 +408,9 @@ public class MachineRoomManager : MonoSingleton<MachineRoomManager>
                     break;
             }
         }
-         
-       
 
+
+        GameObject rDataItem = Resources.Load<GameObject>("DataItem");
         for (int i = 0; i < data.listEquipmentData.Count; i++)
         {
             GameObject obj = GameObject.Instantiate(cabinetObj, transform);
@@ -443,7 +422,23 @@ public class MachineRoomManager : MonoSingleton<MachineRoomManager>
             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;
+
+            dataItem.transform.SetParent(listObjes[i].transform);
+            dataItem.transform.localPosition = listObjes[i].xTag.localPosition;
+            dataItem.transform.localEulerAngles = new Vector3(0, listObjes[i].isSingle ? 180 : 0, 0);
+
         }
         //Debug.Log(data.line);
 
@@ -527,6 +522,15 @@ public class MachineRoomManager : MonoSingleton<MachineRoomManager>
             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++)
@@ -608,7 +612,13 @@ public class MachineRoomManager : MonoSingleton<MachineRoomManager>
 
     public void OnTrackingLost(TagTracking tracking)
     {
-      
+        if (isDataInit)
+        {
+            if (foundTracking == tracking)
+                foundTracking = null;
+
+
+        }
     }
 
     private void QueryTagData( TagTracking tracking)

+ 2 - 2
Assets/Scripts/Tool/EditorUIMove.cs

@@ -9,7 +9,7 @@ public class EditorUIMove : MonoBehaviour
     // Update is called once per frame
     void Update()
     {
-        transform.position = OpenXRCamera.Instance.transform.position;
-       // transform.eulerAngles = new Vector3(0, OpenXRCamera.Instance.transform.eulerAngles.y, 0);
+        transform.position =OpenXRCamera.Instance.head.transform.position;
+       // transform.eulerAngles = new Vector3(0,OpenXRCamera.Instance.head.transform.eulerAngles.y, 0);
     }
 }

+ 3 - 3
Assets/Scripts/Tool/HeadBtnManager.cs

@@ -46,10 +46,10 @@ public class HeadBtnManager : MonoSingleton<HeadBtnManager>
     private void Update()
     {
 
-        player.position = OpenXRCamera.Instance.transform.position;
-        player.eulerAngles = new Vector3(0, OpenXRCamera.Instance.transform.eulerAngles.y, 0);
+        player.position =OpenXRCamera.Instance.head.transform.position;
+        player.eulerAngles = new Vector3(0,OpenXRCamera.Instance.head.transform.eulerAngles.y, 0);
        
-        transform.position = OpenXRCamera.Instance.head.position + player.transform.forward * 1.3f + new Vector3(-0.2f, 1f, 0);
+        transform.position = OpenXRCamera.Instance.head.position + player.transform.forward * 1.5f + new Vector3(-0.2f, 0f, 0.1f);
         transform.eulerAngles = player.eulerAngles;
     }
 

+ 12 - 7
Assets/Scripts/Tool/UIFollow.cs

@@ -12,19 +12,24 @@ public class UIFollow : MonoBehaviour
     void Start()
     {
 
-        // pos = new Vector3(OpenXRCamera.Instance.transform.position.x, 1.5f, OpenXRCamera.Instance.transform.position.z + (OpenXRCamera.Instance.transform.forward * 1.5f).z);
+        // pos = new Vector3(OpenXRCamera.Instance.transform.position.x, 1.5f,OpenXRCamera.Instance.head.transform.position.z + (OpenXRCamera.Instance.transform.forward * 1.5f).z);
         pos = HeadBtnManager.Instance.transform.position;
         Show(pos);
     }
 
+    private void Awake()
+    {
+        HeadBtnManager.Instance.uiFollow = this;
+    }
+
     // Update is called once per frame
     void Update()
     {
-        dis = Vector3.Distance(new Vector3(OpenXRCamera.Instance.transform.position.x, 0, OpenXRCamera.Instance.transform.position.z), new Vector3(transform.position.x, 0, transform.position.z));
+        dis = Vector3.Distance(new Vector3(OpenXRCamera.Instance.head.transform.position.x, 0,OpenXRCamera.Instance.head.transform.position.z), new Vector3(transform.position.x, 0, transform.position.z));
 
        angle = Vector3.Angle(OpenXRCamera.Instance.head.GetComponent<Camera>().transform .forward, transform.position - OpenXRCamera.Instance.head.transform.position);
-
-        if(dis>3||(dis>1.5f&&angle>100))
+      //  Debug.Log("UIFollow  DIS  " + dis  + "   OpenXRCamera "+OpenXRCamera.Instance.transform.position+"   This "+transform.position);
+        if(dis>3||(dis>2.5f&&angle>100))
         {
 
             Hide();
@@ -35,7 +40,7 @@ public class UIFollow : MonoBehaviour
 
     // 隐藏
 
-    private void Hide()
+    public void Hide()
     {
         gameObject.SetActive(false);
 
@@ -46,11 +51,11 @@ public class UIFollow : MonoBehaviour
 
 
     // 显示 
-    public void Show( Vector3 pos )
+    public void Show( Vector3 pos  )
     {
       
         transform.position = pos;
-        transform.eulerAngles = new Vector3(0,OpenXRCamera.Instance.transform.eulerAngles.y, 0);
+        transform.eulerAngles = new Vector3(0,OpenXRCamera.Instance.head.transform.eulerAngles.y, 0);
         gameObject.SetActive(true);
     }
 }

+ 2 - 1
Assets/Scripts/UICallManager.cs

@@ -30,7 +30,8 @@ public class UICallManager : MonoSingleton<UICallManager>
     public void OnTrackfound(DataItem item)
     {
 
-        ScenesManager.Instance.showWindow(ScenesManager.SceneType.Navigationing);
+        // ScenesManager.Instance.showWindow(ScenesManager.SceneType.Navigationing);
+        HeadBtnManager.Instance.uiFollow.Hide();
     }
 
     public void OnTracklast(DataItem item)