Browse Source

Merge branch 'master' of https://gogs.ghz-tech.com:8843/GHzGlass/GHZMRNavigatorProXR into F/0710_2.1+2.0

# Conflicts:
#	Assets/MRNavigatorPro.unity
#	Assets/Scripts/Blue/Service/IUpOrDownloadService.cs
#	Assets/Scripts/LayoutGroup/DRFanLayout.cs
#	Assets/Scripts/Net/HttpTool.cs
#	Assets/Scripts/UI/LoginPanel.cs
#	Assets/Scripts/UI/SceneChoose.cs
胡佳骏 1 year ago
parent
commit
fc2ba6de54
87 changed files with 733 additions and 767 deletions
  1. 1 1
      Assets/2.0/User/Spots/SpotsItem.cs
  2. 188 200
      Assets/MRNavigatorPro.unity
  3. 44 23
      Assets/Prefab/BluePrefabs/BlueRoot.prefab
  4. 4 19
      Assets/Resources/ARCamera.prefab
  5. 1 1
      Assets/Scripts/BaseManager/DataManager.cs
  6. 0 18
      Assets/Scripts/Blue/0.FrameworkDesign/Command/DefaultCommandHandler.cs
  7. 0 8
      Assets/Scripts/Blue/0.FrameworkDesign/Command/ICommandHandler.cs
  8. 1 1
      Assets/Scripts/Blue/0.FrameworkDesign/Core/AbstractArchitecture.cs
  9. 8 5
      Assets/Scripts/Blue/0.FrameworkDesign/Core/ControllerAr.cs
  10. 0 0
      Assets/Scripts/Blue/0.FrameworkDesign/Core/ControllerAr.cs.meta
  11. 6 0
      Assets/Scripts/Blue/0.FrameworkDesign/Core/IAuto.cs
  12. 1 1
      Assets/Scripts/Blue/0.FrameworkDesign/Core/IAuto.cs.meta
  13. 0 6
      Assets/Scripts/Blue/0.FrameworkDesign/Core/ICanInject.cs
  14. 1 1
      Assets/Scripts/Blue/0.FrameworkDesign/Core/IController.cs
  15. 1 1
      Assets/Scripts/Blue/0.FrameworkDesign/Core/IModel.cs
  16. 1 1
      Assets/Scripts/Blue/0.FrameworkDesign/Core/IService.cs
  17. 1 1
      Assets/Scripts/Blue/0.FrameworkDesign/Core/IUtility.cs
  18. 8 0
      Assets/Scripts/Blue/0.FrameworkDesign/Hand.meta
  19. 8 0
      Assets/Scripts/Blue/0.FrameworkDesign/Hand/IQueryCommandHandler.cs
  20. 0 0
      Assets/Scripts/Blue/0.FrameworkDesign/Hand/IQueryCommandHandler.cs.meta
  21. 15 0
      Assets/Scripts/Blue/0.FrameworkDesign/Hand/QueryDefault_Hand.cs
  22. 1 1
      Assets/Scripts/Blue/0.FrameworkDesign/Hand/QueryDefault_Hand.cs.meta
  23. 1 1
      Assets/Scripts/Blue/0.FrameworkDesign/IOC/AbstractArchitectureComponentInjector.cs
  24. 5 5
      Assets/Scripts/Blue/0.FrameworkDesign/IOC/AutoAttribute.cs
  25. 1 1
      Assets/Scripts/Blue/0.FrameworkDesign/IOC/AutoAttribute.cs.meta
  26. 1 1
      Assets/Scripts/Blue/0.FrameworkDesign/IOC/InjectRuleAttribute.cs
  27. 1 1
      Assets/Scripts/Blue/0.FrameworkDesign/IOC/TypeChecker.cs
  28. 4 4
      Assets/Scripts/Blue/0.FrameworkDesign/Rule/ICanSendCommandExtension.cs
  29. 0 19
      Assets/Scripts/Blue/Command/DownloadCommand.cs
  30. 0 24
      Assets/Scripts/Blue/Command/DownloadFileCommand.cs
  31. 0 15
      Assets/Scripts/Blue/Command/GetPointPosSuccessCommand.cs
  32. 0 11
      Assets/Scripts/Blue/Command/GetPointPosSuccessCommand.cs.meta
  33. 4 0
      Assets/Scripts/Blue/Command/InstantiateCommand.cs
  34. 0 15
      Assets/Scripts/Blue/Command/LoadMapFileCommand.cs
  35. 0 11
      Assets/Scripts/Blue/Command/LoadMapFileCommand.cs.meta
  36. 46 0
      Assets/Scripts/Blue/Command/PointFileGetUrlCommand.cs
  37. 1 1
      Assets/Scripts/Blue/Command/PointFileGetUrlCommand.cs.meta
  38. 22 0
      Assets/Scripts/Blue/Command/PointPosRotDownloadCommand.cs
  39. 0 0
      Assets/Scripts/Blue/Command/PointPosRotDownloadCommand.cs.meta
  40. 3 3
      Assets/Scripts/Blue/Command/PointPosRotUploadCommand.cs
  41. 11 0
      Assets/Scripts/Blue/Command/PointPosRotUploadCommand.cs.meta
  42. 3 0
      Assets/Scripts/Blue/Command/StartImmersalLocalizerCommand.cs
  43. 0 11
      Assets/Scripts/Blue/Command/UploadCommand.cs.meta
  44. 0 97
      Assets/Scripts/Blue/Controller/DownloadPointFile.cs
  45. 0 11
      Assets/Scripts/Blue/Controller/DownloadPointFile.cs.meta
  46. 0 38
      Assets/Scripts/Blue/Controller/PointCouldAutoMatchController.cs
  47. 0 11
      Assets/Scripts/Blue/Controller/PointCouldAutoMatchController.cs.meta
  48. 2 1
      Assets/Scripts/Blue/Controller/SavePanel.cs
  49. 0 1
      Assets/Scripts/Blue/Controller/SetPos/MinMapPos.cs
  50. 2 3
      Assets/Scripts/Blue/Controller/SetPos/SetBtnPos.cs
  51. 0 8
      Assets/Scripts/Blue/Event/DownLoadMapFileEvent.cs
  52. 0 11
      Assets/Scripts/Blue/Event/DownLoadMapFileEvent.cs.meta
  53. 0 7
      Assets/Scripts/Blue/Event/GetPointPosSuccessEvent.cs
  54. 0 11
      Assets/Scripts/Blue/Event/GetPointPosSuccessEvent.cs.meta
  55. 3 0
      Assets/Scripts/Blue/Event/GetScenePosRotEvent.cs
  56. 3 0
      Assets/Scripts/Blue/Event/LoadMapFileEvent.cs
  57. 3 0
      Assets/Scripts/Blue/Event/StartImmersalLocalizerEvent.cs
  58. 1 1
      Assets/Scripts/Blue/MRNavigatorPro.cs
  59. 5 0
      Assets/Scripts/Blue/Other/PointFileType.cs
  60. 11 0
      Assets/Scripts/Blue/Other/PointFileType.cs.meta
  61. 5 0
      Assets/Scripts/Blue/Other/ScenePointBodyInfo.cs
  62. 11 0
      Assets/Scripts/Blue/Other/ScenePointBodyInfo.cs.meta
  63. 140 0
      Assets/Scripts/Blue/Service/IPointService.cs
  64. 11 0
      Assets/Scripts/Blue/Service/IPointService.cs.meta
  65. 52 25
      Assets/Scripts/Blue/Service/IUpOrDownloadService.cs
  66. 1 1
      Assets/Scripts/Blue/System/CommandSystem.cs
  67. 0 0
      Assets/Scripts/Blue/System/CommandSystem.cs.meta
  68. 2 2
      Assets/Scripts/Blue/System/CoroutineSystem.cs
  69. 0 0
      Assets/Scripts/Blue/System/CoroutineSystem.cs.meta
  70. 5 1
      Assets/Scripts/Blue/System/InstantiateSystem.cs
  71. 1 1
      Assets/Scripts/Blue/Test/BlueTest.cs
  72. 2 2
      Assets/Scripts/Blue/Utility/CoroutineUtility.cs
  73. 0 37
      Assets/Scripts/Blue/Utility/GetAngleByTwoPointUtility.cs
  74. 0 11
      Assets/Scripts/Blue/Utility/GetAngleByTwoPointUtility.cs.meta
  75. 29 0
      Assets/Scripts/Blue/Utility/UnityWebRequestUtility.cs
  76. 11 0
      Assets/Scripts/Blue/Utility/UnityWebRequestUtility.cs.meta
  77. 18 11
      Assets/Scripts/LayoutGroup/DRFanLayout.cs
  78. 2 2
      Assets/Scripts/LayoutGroup/DRTitleLayout.cs
  79. 2 2
      Assets/Scripts/LayoutGroup/SRSectorLayout.cs
  80. 2 2
      Assets/Scripts/LayoutGroup/SRTitleLayout.cs
  81. 1 1
      Assets/Scripts/LayoutTemplate/TemplateModel.cs
  82. 1 1
      Assets/Scripts/Net/HttpSocket.cs
  83. 1 1
      Assets/Scripts/UI/AnchorEditorPanel/UIAnchorsPanel.cs
  84. 1 1
      Assets/Scripts/UI/EdirPanel/UIMaterialsPanel.cs
  85. 7 2
      Assets/Scripts/UI/GameManager.cs
  86. 1 0
      Assets/Scripts/UI/LoginPanel.cs
  87. 4 53
      Assets/Scripts/UI/SceneChoose.cs

+ 1 - 1
Assets/2.0/User/Spots/SpotsItem.cs

@@ -117,7 +117,7 @@ public class SpotsItem
             string jsonData = JsonMapper.ToJson(sendNet);
 
             Debug.Log(jsonData);
-            HttpTool.Instance.Post("/sn/viewpoint", jsonData, (string msg)=> { });
+            HttpTool.Instance.Post(HttpAction.sn_viewpoint, jsonData, (string msg)=> { });
         }
         else
         {

+ 188 - 200
Assets/MRNavigatorPro.unity

@@ -1076,18 +1076,7 @@ PrefabInstance:
       propertyPath: m_IsActive
       value: 0
       objectReference: {fileID: 0}
-    - target: {fileID: 5800288098461687878, guid: 203a207aad8a60e42b81d14a14794f2f,
-        type: 3}
-      propertyPath: mWorldCenterMode
-      value: 2
-      objectReference: {fileID: 0}
-    - target: {fileID: 5800288098461687885, guid: 203a207aad8a60e42b81d14a14794f2f,
-        type: 3}
-      propertyPath: RGBPositionOffset.z
-      value: 0
-      objectReference: {fileID: 0}
-    m_RemovedComponents:
-    - {fileID: 5800288098461687874, guid: 203a207aad8a60e42b81d14a14794f2f, type: 3}
+    m_RemovedComponents: []
   m_SourcePrefab: {fileID: 100100000, guid: 203a207aad8a60e42b81d14a14794f2f, type: 3}
 --- !u!1 &275096928
 GameObject:
@@ -1551,7 +1540,7 @@ MeshFilter:
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 375338274}
-  m_Mesh: {fileID: 1489035138}
+  m_Mesh: {fileID: 1728085570}
 --- !u!114 &375338278
 MonoBehaviour:
   m_ObjectHideFlags: 0
@@ -2300,7 +2289,6 @@ MonoBehaviour:
   immser: {fileID: 1327983565}
   m_IsRuning: 0
   m_UIAnchorsPanel: {fileID: 1180406930700069014}
-  point: {fileID: 0}
 --- !u!4 &588301977
 Transform:
   m_ObjectHideFlags: 0
@@ -4975,170 +4963,6 @@ PrefabInstance:
         type: 2}
     m_RemovedComponents: []
   m_SourcePrefab: {fileID: 100100000, guid: 7f34641aa9b798d4980647aff233a880, type: 3}
---- !u!43 &1489035138
-Mesh:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_Name: 
-  serializedVersion: 10
-  m_SubMeshes:
-  - serializedVersion: 2
-    firstByte: 0
-    indexCount: 0
-    topology: 5
-    baseVertex: 0
-    firstVertex: 0
-    vertexCount: 0
-    localAABB:
-      m_Center: {x: 0, y: 0, z: 0}
-      m_Extent: {x: 0, y: 0, z: 0}
-  m_Shapes:
-    vertices: []
-    shapes: []
-    channels: []
-    fullWeights: []
-  m_BindPose: []
-  m_BoneNameHashes: 
-  m_RootBoneNameHash: 0
-  m_BonesAABB: []
-  m_VariableBoneCountWeights:
-    m_Data: 
-  m_MeshCompression: 0
-  m_IsReadable: 1
-  m_KeepVertices: 0
-  m_KeepIndices: 0
-  m_IndexFormat: 1
-  m_IndexBuffer: 
-  m_VertexData:
-    serializedVersion: 3
-    m_VertexCount: 0
-    m_Channels:
-    - stream: 0
-      offset: 0
-      format: 0
-      dimension: 3
-    - stream: 0
-      offset: 0
-      format: 0
-      dimension: 0
-    - stream: 0
-      offset: 0
-      format: 0
-      dimension: 0
-    - stream: 0
-      offset: 0
-      format: 0
-      dimension: 0
-    - stream: 0
-      offset: 0
-      format: 0
-      dimension: 0
-    - stream: 0
-      offset: 0
-      format: 0
-      dimension: 0
-    - stream: 0
-      offset: 0
-      format: 0
-      dimension: 0
-    - stream: 0
-      offset: 0
-      format: 0
-      dimension: 0
-    - stream: 0
-      offset: 0
-      format: 0
-      dimension: 0
-    - stream: 0
-      offset: 0
-      format: 0
-      dimension: 0
-    - stream: 0
-      offset: 0
-      format: 0
-      dimension: 0
-    - stream: 0
-      offset: 0
-      format: 0
-      dimension: 0
-    - stream: 0
-      offset: 0
-      format: 0
-      dimension: 0
-    - stream: 0
-      offset: 0
-      format: 0
-      dimension: 0
-    m_DataSize: 0
-    _typelessdata: 
-  m_CompressedMesh:
-    m_Vertices:
-      m_NumItems: 0
-      m_Range: 0
-      m_Start: 0
-      m_Data: 
-      m_BitSize: 0
-    m_UV:
-      m_NumItems: 0
-      m_Range: 0
-      m_Start: 0
-      m_Data: 
-      m_BitSize: 0
-    m_Normals:
-      m_NumItems: 0
-      m_Range: 0
-      m_Start: 0
-      m_Data: 
-      m_BitSize: 0
-    m_Tangents:
-      m_NumItems: 0
-      m_Range: 0
-      m_Start: 0
-      m_Data: 
-      m_BitSize: 0
-    m_Weights:
-      m_NumItems: 0
-      m_Data: 
-      m_BitSize: 0
-    m_NormalSigns:
-      m_NumItems: 0
-      m_Data: 
-      m_BitSize: 0
-    m_TangentSigns:
-      m_NumItems: 0
-      m_Data: 
-      m_BitSize: 0
-    m_FloatColors:
-      m_NumItems: 0
-      m_Range: 0
-      m_Start: 0
-      m_Data: 
-      m_BitSize: 0
-    m_BoneIndices:
-      m_NumItems: 0
-      m_Data: 
-      m_BitSize: 0
-    m_Triangles:
-      m_NumItems: 0
-      m_Data: 
-      m_BitSize: 0
-    m_UVInfo: 0
-  m_LocalAABB:
-    m_Center: {x: 0, y: 0, z: 0}
-    m_Extent: {x: 1.7014117e+38, y: 1.7014117e+38, z: 1.7014117e+38}
-  m_MeshUsageFlags: 0
-  m_BakedConvexCollisionMesh: 
-  m_BakedTriangleCollisionMesh: 
-  m_MeshMetrics[0]: 1
-  m_MeshMetrics[1]: 1
-  m_MeshOptimizationFlags: 1
-  m_StreamData:
-    serializedVersion: 2
-    offset: 0
-    size: 0
-    path: 
 --- !u!1001 &1494370969
 PrefabInstance:
   m_ObjectHideFlags: 0
@@ -5154,7 +4978,7 @@ PrefabInstance:
     - target: {fileID: 2656584712679981451, guid: 3e8996c442fe40541beb734ca45f2bf6,
         type: 3}
       propertyPath: m_AnchoredPosition.y
-      value: -0.0051462515
+      value: -0.0051461896
       objectReference: {fileID: 0}
     - target: {fileID: 2656584712838976906, guid: 3e8996c442fe40541beb734ca45f2bf6,
         type: 3}
@@ -5284,37 +5108,37 @@ PrefabInstance:
     - target: {fileID: 2656584713474595953, guid: 3e8996c442fe40541beb734ca45f2bf6,
         type: 3}
       propertyPath: m_AnchoredPosition.y
-      value: -0.0018987218
+      value: -0.0019209912
       objectReference: {fileID: 0}
     - target: {fileID: 2656584713571100915, guid: 3e8996c442fe40541beb734ca45f2bf6,
         type: 3}
       propertyPath: m_AnchorMax.y
-      value: 0
+      value: 1
       objectReference: {fileID: 0}
     - target: {fileID: 2656584713571100915, guid: 3e8996c442fe40541beb734ca45f2bf6,
         type: 3}
       propertyPath: m_AnchorMin.y
-      value: 0
+      value: 1
       objectReference: {fileID: 0}
     - target: {fileID: 2656584713571100915, guid: 3e8996c442fe40541beb734ca45f2bf6,
         type: 3}
       propertyPath: m_SizeDelta.x
-      value: 0
+      value: 188
       objectReference: {fileID: 0}
     - target: {fileID: 2656584713571100915, guid: 3e8996c442fe40541beb734ca45f2bf6,
         type: 3}
       propertyPath: m_SizeDelta.y
-      value: 0
+      value: 61
       objectReference: {fileID: 0}
     - target: {fileID: 2656584713571100915, guid: 3e8996c442fe40541beb734ca45f2bf6,
         type: 3}
       propertyPath: m_AnchoredPosition.x
-      value: 0
+      value: 100
       objectReference: {fileID: 0}
     - target: {fileID: 2656584713571100915, guid: 3e8996c442fe40541beb734ca45f2bf6,
         type: 3}
       propertyPath: m_AnchoredPosition.y
-      value: 0
+      value: -101.5
       objectReference: {fileID: 0}
     - target: {fileID: 2656584714058937656, guid: 3e8996c442fe40541beb734ca45f2bf6,
         type: 3}
@@ -5324,62 +5148,62 @@ PrefabInstance:
     - target: {fileID: 2656584714091092633, guid: 3e8996c442fe40541beb734ca45f2bf6,
         type: 3}
       propertyPath: m_AnchorMax.y
-      value: 0
+      value: 1
       objectReference: {fileID: 0}
     - target: {fileID: 2656584714091092633, guid: 3e8996c442fe40541beb734ca45f2bf6,
         type: 3}
       propertyPath: m_AnchorMin.y
-      value: 0
+      value: 1
       objectReference: {fileID: 0}
     - target: {fileID: 2656584714091092633, guid: 3e8996c442fe40541beb734ca45f2bf6,
         type: 3}
       propertyPath: m_SizeDelta.x
-      value: 0
+      value: 188
       objectReference: {fileID: 0}
     - target: {fileID: 2656584714091092633, guid: 3e8996c442fe40541beb734ca45f2bf6,
         type: 3}
       propertyPath: m_SizeDelta.y
-      value: 0
+      value: 61
       objectReference: {fileID: 0}
     - target: {fileID: 2656584714091092633, guid: 3e8996c442fe40541beb734ca45f2bf6,
         type: 3}
       propertyPath: m_AnchoredPosition.x
-      value: 0
+      value: 100
       objectReference: {fileID: 0}
     - target: {fileID: 2656584714091092633, guid: 3e8996c442fe40541beb734ca45f2bf6,
         type: 3}
       propertyPath: m_AnchoredPosition.y
-      value: 0
+      value: -35.5
       objectReference: {fileID: 0}
     - target: {fileID: 3618627243639674965, guid: 3e8996c442fe40541beb734ca45f2bf6,
         type: 3}
       propertyPath: m_AnchorMax.y
-      value: 0
+      value: 1
       objectReference: {fileID: 0}
     - target: {fileID: 3618627243639674965, guid: 3e8996c442fe40541beb734ca45f2bf6,
         type: 3}
       propertyPath: m_AnchorMin.y
-      value: 0
+      value: 1
       objectReference: {fileID: 0}
     - target: {fileID: 3618627243639674965, guid: 3e8996c442fe40541beb734ca45f2bf6,
         type: 3}
       propertyPath: m_SizeDelta.x
-      value: 0
+      value: 188
       objectReference: {fileID: 0}
     - target: {fileID: 3618627243639674965, guid: 3e8996c442fe40541beb734ca45f2bf6,
         type: 3}
       propertyPath: m_SizeDelta.y
-      value: 0
+      value: 61
       objectReference: {fileID: 0}
     - target: {fileID: 3618627243639674965, guid: 3e8996c442fe40541beb734ca45f2bf6,
         type: 3}
       propertyPath: m_AnchoredPosition.x
-      value: 0
+      value: 100
       objectReference: {fileID: 0}
     - target: {fileID: 3618627243639674965, guid: 3e8996c442fe40541beb734ca45f2bf6,
         type: 3}
       propertyPath: m_AnchoredPosition.y
-      value: 0
+      value: -35.5
       objectReference: {fileID: 0}
     m_RemovedComponents: []
   m_SourcePrefab: {fileID: 100100000, guid: 3e8996c442fe40541beb734ca45f2bf6, type: 3}
@@ -5920,6 +5744,170 @@ Transform:
   m_Father: {fileID: 210725851}
   m_RootOrder: 7
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!43 &1728085570
+Mesh:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: 
+  serializedVersion: 10
+  m_SubMeshes:
+  - serializedVersion: 2
+    firstByte: 0
+    indexCount: 0
+    topology: 5
+    baseVertex: 0
+    firstVertex: 0
+    vertexCount: 0
+    localAABB:
+      m_Center: {x: 0, y: 0, z: 0}
+      m_Extent: {x: 0, y: 0, z: 0}
+  m_Shapes:
+    vertices: []
+    shapes: []
+    channels: []
+    fullWeights: []
+  m_BindPose: []
+  m_BoneNameHashes: 
+  m_RootBoneNameHash: 0
+  m_BonesAABB: []
+  m_VariableBoneCountWeights:
+    m_Data: 
+  m_MeshCompression: 0
+  m_IsReadable: 1
+  m_KeepVertices: 0
+  m_KeepIndices: 0
+  m_IndexFormat: 1
+  m_IndexBuffer: 
+  m_VertexData:
+    serializedVersion: 3
+    m_VertexCount: 0
+    m_Channels:
+    - stream: 0
+      offset: 0
+      format: 0
+      dimension: 3
+    - stream: 0
+      offset: 0
+      format: 0
+      dimension: 0
+    - stream: 0
+      offset: 0
+      format: 0
+      dimension: 0
+    - stream: 0
+      offset: 0
+      format: 0
+      dimension: 0
+    - stream: 0
+      offset: 0
+      format: 0
+      dimension: 0
+    - stream: 0
+      offset: 0
+      format: 0
+      dimension: 0
+    - stream: 0
+      offset: 0
+      format: 0
+      dimension: 0
+    - stream: 0
+      offset: 0
+      format: 0
+      dimension: 0
+    - stream: 0
+      offset: 0
+      format: 0
+      dimension: 0
+    - stream: 0
+      offset: 0
+      format: 0
+      dimension: 0
+    - stream: 0
+      offset: 0
+      format: 0
+      dimension: 0
+    - stream: 0
+      offset: 0
+      format: 0
+      dimension: 0
+    - stream: 0
+      offset: 0
+      format: 0
+      dimension: 0
+    - stream: 0
+      offset: 0
+      format: 0
+      dimension: 0
+    m_DataSize: 0
+    _typelessdata: 
+  m_CompressedMesh:
+    m_Vertices:
+      m_NumItems: 0
+      m_Range: 0
+      m_Start: 0
+      m_Data: 
+      m_BitSize: 0
+    m_UV:
+      m_NumItems: 0
+      m_Range: 0
+      m_Start: 0
+      m_Data: 
+      m_BitSize: 0
+    m_Normals:
+      m_NumItems: 0
+      m_Range: 0
+      m_Start: 0
+      m_Data: 
+      m_BitSize: 0
+    m_Tangents:
+      m_NumItems: 0
+      m_Range: 0
+      m_Start: 0
+      m_Data: 
+      m_BitSize: 0
+    m_Weights:
+      m_NumItems: 0
+      m_Data: 
+      m_BitSize: 0
+    m_NormalSigns:
+      m_NumItems: 0
+      m_Data: 
+      m_BitSize: 0
+    m_TangentSigns:
+      m_NumItems: 0
+      m_Data: 
+      m_BitSize: 0
+    m_FloatColors:
+      m_NumItems: 0
+      m_Range: 0
+      m_Start: 0
+      m_Data: 
+      m_BitSize: 0
+    m_BoneIndices:
+      m_NumItems: 0
+      m_Data: 
+      m_BitSize: 0
+    m_Triangles:
+      m_NumItems: 0
+      m_Data: 
+      m_BitSize: 0
+    m_UVInfo: 0
+  m_LocalAABB:
+    m_Center: {x: 0, y: 0, z: 0}
+    m_Extent: {x: 1.7014117e+38, y: 1.7014117e+38, z: 1.7014117e+38}
+  m_MeshUsageFlags: 0
+  m_BakedConvexCollisionMesh: 
+  m_BakedTriangleCollisionMesh: 
+  m_MeshMetrics[0]: 1
+  m_MeshMetrics[1]: 1
+  m_MeshOptimizationFlags: 1
+  m_StreamData:
+    serializedVersion: 2
+    offset: 0
+    size: 0
+    path: 
 --- !u!224 &1741310867 stripped
 RectTransform:
   m_CorrespondingSourceObject: {fileID: 7742697447022607696, guid: 7f34641aa9b798d4980647aff233a880,
@@ -7994,7 +7982,7 @@ PrefabInstance:
     - target: {fileID: 486518953982833418, guid: 6693e68f506a6c944b1783fb7e52a498,
         type: 3}
       propertyPath: m_AnchoredPosition.y
-      value: -0.001268718
+      value: -0.0012181683
       objectReference: {fileID: 0}
     - target: {fileID: 486518953989235048, guid: 6693e68f506a6c944b1783fb7e52a498,
         type: 3}
@@ -11809,7 +11797,7 @@ RectTransform:
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0, y: 1}
   m_AnchorMax: {x: 1, y: 1}
-  m_AnchoredPosition: {x: 0, y: -0.005139386}
+  m_AnchoredPosition: {x: 0, y: -0.0051401407}
   m_SizeDelta: {x: 0, y: 0}
   m_Pivot: {x: 0, y: 1}
 --- !u!114 &1180406930876628118

+ 44 - 23
Assets/Prefab/BluePrefabs/BlueRoot.prefab

@@ -9,7 +9,6 @@ GameObject:
   serializedVersion: 6
   m_Component:
   - component: {fileID: 1004673916}
-  - component: {fileID: 1004673917}
   m_Layer: 0
   m_Name: DownloadPointFile
   m_TagString: Untagged
@@ -24,26 +23,14 @@ Transform:
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 1004673915}
-  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}
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_ConstrainProportionsScale: 0
   m_Children: []
-  m_Father: {fileID: 5886227751517987777}
+  m_Father: {fileID: 4047458563064717630}
   m_RootOrder: 1
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!114 &1004673917
-MonoBehaviour:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 1004673915}
-  m_Enabled: 1
-  m_EditorHideFlags: 0
-  m_Script: {fileID: 11500000, guid: 5056337c45d1c474596bb345f15bd80d, type: 3}
-  m_Name: 
-  m_EditorClassIdentifier: 
 --- !u!1 &1691766441
 GameObject:
   m_ObjectHideFlags: 0
@@ -74,7 +61,7 @@ Transform:
   m_ConstrainProportionsScale: 0
   m_Children: []
   m_Father: {fileID: 5886227751517987777}
-  m_RootOrder: 3
+  m_RootOrder: 2
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!114 &4085329947062313590
 MonoBehaviour:
@@ -120,7 +107,7 @@ Transform:
   m_ConstrainProportionsScale: 0
   m_Children: []
   m_Father: {fileID: 5886227751517987777}
-  m_RootOrder: 4
+  m_RootOrder: 3
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!114 &5122960243441828857
 MonoBehaviour:
@@ -136,6 +123,39 @@ MonoBehaviour:
   m_EditorClassIdentifier: 
   moveGame: {fileID: 0}
   parent: {fileID: 0}
+--- !u!1 &811614693913846086
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 4047458563064717630}
+  m_Layer: 0
+  m_Name: Function
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4047458563064717630
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 811614693913846086}
+  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:
+  - {fileID: 5192568582079240754}
+  - {fileID: 1004673916}
+  m_Father: {fileID: 5886227751517987777}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!1 &3255320335503680843
 GameObject:
   m_ObjectHideFlags: 0
@@ -166,7 +186,7 @@ Transform:
   m_ConstrainProportionsScale: 0
   m_Children: []
   m_Father: {fileID: 5886227751517987777}
-  m_RootOrder: 2
+  m_RootOrder: 1
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!114 &1850852233735434126
 MonoBehaviour:
@@ -213,8 +233,7 @@ Transform:
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_ConstrainProportionsScale: 0
   m_Children:
-  - {fileID: 5192568582079240754}
-  - {fileID: 1004673916}
+  - {fileID: 4047458563064717630}
   - {fileID: 1263283691747613010}
   - {fileID: 1691766442}
   - {fileID: 3490034733957922214}
@@ -304,6 +323,7 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: adb4de7180662d949af04a42fcab6f67, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
+  MinMapCanvas: {fileID: 0}
 --- !u!1 &7412898482642897146
 GameObject:
   m_ObjectHideFlags: 0
@@ -348,6 +368,7 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: 5e0751fcd7df98244a7c6a74f2074965, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
+  SetBtn: {fileID: 0}
 --- !u!1 &8366907603109842081
 GameObject:
   m_ObjectHideFlags: 0
@@ -378,7 +399,7 @@ Transform:
   m_ConstrainProportionsScale: 0
   m_Children: []
   m_Father: {fileID: 5886227751517987777}
-  m_RootOrder: 5
+  m_RootOrder: 4
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!114 &6071567358264610956
 MonoBehaviour:
@@ -423,7 +444,7 @@ Transform:
   - {fileID: 4142298729973525203}
   - {fileID: 252912846317535761}
   m_Father: {fileID: 5886227751517987777}
-  m_RootOrder: 6
+  m_RootOrder: 5
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!1 &8893702449747549102
 GameObject:
@@ -454,7 +475,7 @@ Transform:
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_ConstrainProportionsScale: 0
   m_Children: []
-  m_Father: {fileID: 5886227751517987777}
+  m_Father: {fileID: 4047458563064717630}
   m_RootOrder: 0
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!114 &5439870886630026804

+ 4 - 19
Assets/Resources/ARCamera.prefab

@@ -12,8 +12,7 @@ GameObject:
   - component: {fileID: 5800288098461687872}
   - component: {fileID: 5800288098461687878}
   - component: {fileID: 5800288098461687879}
-  - component: {fileID: 5800288098461687885}
-  - component: {fileID: 5800288098461687874}
+  - component: {fileID: 236401381}
   m_Layer: 0
   m_Name: ARCamera
   m_TagString: MainCamera
@@ -31,6 +30,7 @@ Transform:
   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: 0
@@ -104,7 +104,7 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: c47f92041efbb4b429a4eafca855ebe3, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
---- !u!114 &5800288098461687885
+--- !u!114 &236401381
 MonoBehaviour:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
@@ -113,21 +113,6 @@ MonoBehaviour:
   m_GameObject: {fileID: 5800288098461687876}
   m_Enabled: 1
   m_EditorHideFlags: 0
-  m_Script: {fileID: 11500000, guid: 645677a1dedc9624283f56653e8631bb, type: 3}
+  m_Script: {fileID: 11500000, guid: 5db8bc2f5099b9546a14b29f741d5466, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  RGBPositionOffset: {x: 0, y: 0, z: 0.05}
-  RGBRotationOffset: {x: 0, y: 0, z: 0}
---- !u!114 &5800288098461687874
-MonoBehaviour:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 5800288098461687876}
-  m_Enabled: 1
-  m_EditorHideFlags: 0
-  m_Script: {fileID: 11500000, guid: d21da874a775e7247b75d079bb551944, type: 3}
-  m_Name: 
-  m_EditorClassIdentifier: 
-  global: 1

+ 1 - 1
Assets/Scripts/BaseManager/DataManager.cs

@@ -156,7 +156,7 @@ public class DataManager : SingletonMono<DataManager>
             InstantiateCommand Command= new InstantiateCommand(
                 InstantiateSystem.Instance.BlueObject.WarningPopUp,
                 InstantiateSystem.Instance.BlueObject.NetErrorText);
-            CommandExtensionSystem.Instance.Send(Command);
+            CommandSystem.Instance.Send(Command);
             return;
         }
 

+ 0 - 18
Assets/Scripts/Blue/0.FrameworkDesign/Command/DefaultCommandHandler.cs

@@ -1,18 +0,0 @@
-namespace Blue
-{
-    /// <summary>
-    /// 默认Command 处理类
-    /// </summary>
-    public class DefaultCommandHandler : ICommandHandler
-    {
-        public void ExcuteCommand(ICommand command)
-        {
-            command.OnExcute();
-        }
-
-        public void ExcuteCommand<T>() where T : ICommand, new()
-        {
-            ExcuteCommand(new T());
-        }
-    }
-}

+ 0 - 8
Assets/Scripts/Blue/0.FrameworkDesign/Command/ICommandHandler.cs

@@ -1,8 +0,0 @@
-namespace Blue
-{
-    public interface ICommandHandler
-    {
-        void ExcuteCommand(ICommand command);
-        void ExcuteCommand<T>() where T:ICommand,new();
-    }
-}

+ 1 - 1
Assets/Scripts/Blue/0.FrameworkDesign/Core/AbstractArchitecture.cs

@@ -15,7 +15,7 @@ namespace Blue
         private IOCContainer serviceContainer=new IOCContainer();
         private IOCContainer utilityContainer = new IOCContainer();
         private ITypeEventSystem eventSystem=new DefaultTypeEventSystem();
-        private ICommandHandler commandHandle=new DefaultCommandHandler();
+        private IQueryCommandHandler commandHandle=new QueryDefault_Hand();
         private IQueryHandler queryHandler = new DefaultQueryHandler();
 
         /// <summary>

+ 8 - 5
Assets/Scripts/Blue/0.FrameworkDesign/Core/ArchitectureInitiator.cs → Assets/Scripts/Blue/0.FrameworkDesign/Core/ControllerAr.cs

@@ -5,23 +5,26 @@ using UnityEngine.Scripting;
 
 namespace Blue
 {
+    /// <summary>
+    /// 控制的Archi
+    /// </summary>
     [Preserve]
-    internal sealed class ArchitectureInitiator
+    internal sealed class ControllerAr
     {
-        private ArchitectureInitiator() { }
+        private ControllerAr() { }
 
         private Type architectureType = typeof(IArchitecture);
         private IArchitecture architectureInstance = null;
         private IInjector mInjector;
         private bool architectureInited = false;
         //private bool
-        private static ArchitectureInitiator mInstance;
+        private static ControllerAr mInstance;
         private ModuleInitiator moduleInitiator;
 
         [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.AfterAssembliesLoaded)]
         private static void Initiate()
         {
-            mInstance = new ArchitectureInitiator();
+            mInstance = new ControllerAr();
             mInstance.CreateInjector();
             mInstance.CreateModuleInitiator();
             Type[] typeArr = Assembly.GetExecutingAssembly().GetTypes();
@@ -47,7 +50,7 @@ namespace Blue
         //[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)]
         private static void StartInject() 
         {
-            Debug.Log("StartInject");
+            //Debug.Log("StartInject");
             mInstance.Inject();
             //mInstance.Clear();
         }

+ 0 - 0
Assets/Scripts/Blue/0.FrameworkDesign/Core/ArchitectureInitiator.cs.meta → Assets/Scripts/Blue/0.FrameworkDesign/Core/ControllerAr.cs.meta


+ 6 - 0
Assets/Scripts/Blue/0.FrameworkDesign/Core/IAuto.cs

@@ -0,0 +1,6 @@
+namespace Blue
+{
+    public interface IAuto
+    {
+    }
+}

+ 1 - 1
Assets/Scripts/Blue/0.FrameworkDesign/Core/ICanInject.cs.meta → Assets/Scripts/Blue/0.FrameworkDesign/Core/IAuto.cs.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 52f5dfcb6f5a29a4b9f316ab29445925
+guid: 3c1cdcc8388923a449c35bd3adcb8fcf
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2

+ 0 - 6
Assets/Scripts/Blue/0.FrameworkDesign/Core/ICanInject.cs

@@ -1,6 +0,0 @@
-namespace Blue
-{
-    public interface ICanInject
-    {
-    }
-}

+ 1 - 1
Assets/Scripts/Blue/0.FrameworkDesign/Core/IController.cs

@@ -3,7 +3,7 @@ namespace Blue
     /// <summary>
     /// Controller 层接口
     /// </summary>
-    public interface IController :ICanInject,ICanGetService,ICanGetModel,ICanGetUtility,ICanSendCommand,ICanSubscribeEvent,ICanSendQuery
+    public interface IController :IAuto,ICanGetService,ICanGetModel,ICanGetUtility,ICanSendCommand,ICanSubscribeEvent,ICanSendQuery
     {
     }
 }

+ 1 - 1
Assets/Scripts/Blue/0.FrameworkDesign/Core/IModel.cs

@@ -3,7 +3,7 @@ namespace Blue
     /// <summary>
     /// Model 层接口
     /// </summary>
-    public interface IModel:ICanInject,ICanGetUtility,ICanTriggerEvent
+    public interface IModel:IAuto,ICanGetUtility,ICanTriggerEvent
     {
         void OnInit();
     }

+ 1 - 1
Assets/Scripts/Blue/0.FrameworkDesign/Core/IService.cs

@@ -3,7 +3,7 @@ namespace Blue
     /// <summary>
     /// Service 层接口
     /// </summary>
-    public interface IService : ICanInject,ICanGetService, ICanSendCommand,ICanGetModel, ICanGetUtility,ICanSubscribeEvent,ICanTriggerEvent,ICanSendQuery
+    public interface IService : IAuto,ICanGetService, ICanSendCommand,ICanGetModel, ICanGetUtility,ICanSubscribeEvent,ICanTriggerEvent,ICanSendQuery
     {
         void OnInit();
     }

+ 1 - 1
Assets/Scripts/Blue/0.FrameworkDesign/Core/IUtility.cs

@@ -3,7 +3,7 @@ namespace Blue
     /// <summary>
     /// Utility 层接口
     /// </summary>
-    public interface IUtility:ICanInject,ICanGetUtility
+    public interface IUtility:IAuto,ICanGetUtility
     {
     }
 }

+ 8 - 0
Assets/Scripts/Blue/0.FrameworkDesign/Hand.meta

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

+ 8 - 0
Assets/Scripts/Blue/0.FrameworkDesign/Hand/IQueryCommandHandler.cs

@@ -0,0 +1,8 @@
+namespace Blue
+{
+    public interface IQueryCommandHandler
+    {
+        void ExcuteQueryCommand(ICommand command);
+        void ExcuteQueryCommand<T>() where T:ICommand,new();
+    }
+}

+ 0 - 0
Assets/Scripts/Blue/0.FrameworkDesign/Command/ICommandHandler.cs.meta → Assets/Scripts/Blue/0.FrameworkDesign/Hand/IQueryCommandHandler.cs.meta


+ 15 - 0
Assets/Scripts/Blue/0.FrameworkDesign/Hand/QueryDefault_Hand.cs

@@ -0,0 +1,15 @@
+namespace Blue
+{
+    public class QueryDefault_Hand : IQueryCommandHandler
+    {
+        public void ExcuteQueryCommand(ICommand command)
+        {
+            command.OnExcute();
+        }
+
+        public void ExcuteQueryCommand<T>() where T : ICommand, new()
+        {
+            ExcuteQueryCommand(new T());
+        }
+    }
+}

+ 1 - 1
Assets/Scripts/Blue/0.FrameworkDesign/Command/DefaultCommandHandler.cs.meta → Assets/Scripts/Blue/0.FrameworkDesign/Hand/QueryDefault_Hand.cs.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: b3d22e8c7927ea94ea756fbaf507eab4
+guid: f65ee8c3cb5750344add0dbe504ffe68
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2

+ 1 - 1
Assets/Scripts/Blue/0.FrameworkDesign/IOC/AbstractArchitectureComponentInjector.cs

@@ -154,7 +154,7 @@ namespace Blue
             for (int i = 0; i < length; i++)
             {
                 FieldInfo tmpField = tmpFieldArr[i];
-                AutoInjectAttribute autoInjectAttribute = tmpField.GetCustomAttribute<AutoInjectAttribute>();
+                AutoAttribute autoInjectAttribute = tmpField.GetCustomAttribute<AutoAttribute>();
                 if (autoInjectAttribute != null)
                 {
                     InjectInfo injectInfo = new InjectInfo()

+ 5 - 5
Assets/Scripts/Blue/0.FrameworkDesign/IOC/AutoInjectAttribute.cs → Assets/Scripts/Blue/0.FrameworkDesign/IOC/AutoAttribute.cs

@@ -3,22 +3,22 @@ using System;
 namespace Blue
 {
     /// <summary>
-    /// 自动注入---可以对字段应用属性
+    /// 自动
     /// </summary>
     [AttributeUsage(AttributeTargets.Field)]
-    public class AutoInjectAttribute : Attribute
+    public class AutoAttribute : Attribute
     {
         private Type type;
         private InjectScope scope;
-        public AutoInjectAttribute()
+        public AutoAttribute()
         {
             scope = InjectScope.Singleton;
         }
-        public AutoInjectAttribute(Type injectType):base()
+        public AutoAttribute(Type injectType):base()
         {
             type = injectType;
         }
-        public AutoInjectAttribute(Type injectType, InjectScope injectScope)
+        public AutoAttribute(Type injectType, InjectScope injectScope)
         {
             type = injectType;
             scope = injectScope;

+ 1 - 1
Assets/Scripts/Blue/0.FrameworkDesign/IOC/AutoInjectAttribute.cs.meta → Assets/Scripts/Blue/0.FrameworkDesign/IOC/AutoAttribute.cs.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 622e02399eec8d14ead869f91635ffab
+guid: a1ba8f9fa51acb24f88d6e14968e5b25
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2

+ 1 - 1
Assets/Scripts/Blue/0.FrameworkDesign/IOC/InjectRuleAttribute.cs

@@ -14,7 +14,7 @@ namespace Blue
         private Type baseInjectType;
         public InjectRuleAttribute(params Type[] canInject)
         {
-            baseInjectType = typeof(ICanInject);
+            baseInjectType = typeof(IAuto);
             canInjectList = new List<Type>(canInject.Length);
             foreach (var item in canInject)
             {

+ 1 - 1
Assets/Scripts/Blue/0.FrameworkDesign/IOC/TypeChecker.cs

@@ -18,7 +18,7 @@ namespace Blue
        // [RequiredMember]
         private TypeChecker()
         {
-            canInjectBaseType = typeof(ICanInject);
+            canInjectBaseType = typeof(IAuto);
             controllerType = typeof(IController);
             modelType = typeof(IModel);
             serviceType = typeof(IService);

+ 4 - 4
Assets/Scripts/Blue/0.FrameworkDesign/Rule/ICanSendCommandExtension.cs

@@ -3,20 +3,20 @@ namespace Blue
 
     public static class ICanSendCommandExtension
     {
-        private static ICommandHandler _commandHandler;
+        private static IQueryCommandHandler _commandHandler;
 
-        public static void SetCommandHandler(ICommandHandler commandHandler)
+        public static void SetCommandHandler(IQueryCommandHandler commandHandler)
         {
             _commandHandler = commandHandler;
         }
 
         public static void SendCommand<T>(this ICanSendCommand self) where T : ICommand, new()
         {
-            _commandHandler.ExcuteCommand<T>();
+            _commandHandler.ExcuteQueryCommand<T>();
         }
         public static void SendCommand<T>(this ICanSendCommand self, T command) where T : ICommand
         {
-            _commandHandler.ExcuteCommand(command);
+            _commandHandler.ExcuteQueryCommand(command);
         }
     }
 }

+ 0 - 19
Assets/Scripts/Blue/Command/DownloadCommand.cs

@@ -1,19 +0,0 @@
-using Blue;
-using System;
-using System.Collections.Generic;
-
-/// <summary>
-/// ÏÂÔØÒÆ¶¯³¡¾°µÄPostion¡¢Rotatiuon
-/// </summary>
-public class DownloadCommand : ICommand
-{
-    private string Url;
-    public DownloadCommand(string Url )
-    {
-        this.Url = Url;
-    }
-    public void OnExcute()
-    {
-        this.GetService<IUpOrDownloadService>().GetScenePosRot(Url);
-    }
-}

+ 0 - 24
Assets/Scripts/Blue/Command/DownloadFileCommand.cs

@@ -1,24 +0,0 @@
-using Blue;
-
-public class DownloadFileCommand : ICommand
-{
-    private string url;
-    private string fileType;
-    private int projectID;
-    public DownloadFileCommand(string url,string fileType,int projectID)
-    {
-        this.url = url;
-        this.fileType = fileType;
-        this.projectID = projectID;
-    }
-
-    public void OnExcute()
-    {
-        this.TriggerEvent<DownLoadMapFileEvent>(new DownLoadMapFileEvent()
-        {
-            Url = url,
-            FileType = fileType,
-            ProjectID = projectID
-        });
-    }
-}

+ 0 - 15
Assets/Scripts/Blue/Command/GetPointPosSuccessCommand.cs

@@ -1,15 +0,0 @@
-using Blue;
-using System.Collections.Generic;
-
-public struct GetPointPosSuccessCommand : ICommand
-{
-    private List<PointJsonInfo> pointPos;
-    public GetPointPosSuccessCommand(List<PointJsonInfo> pointPos)
-    {
-        this.pointPos = pointPos;
-    }
-    public void OnExcute()
-    {
-        this.TriggerEvent<GetPointPosSuccessEvent>(new GetPointPosSuccessEvent() { pointJsonInfos = pointPos });
-    }
-}

+ 0 - 11
Assets/Scripts/Blue/Command/GetPointPosSuccessCommand.cs.meta

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

+ 4 - 0
Assets/Scripts/Blue/Command/InstantiateCommand.cs

@@ -1,6 +1,10 @@
 using Blue;
 using UnityEngine;
 
+/// <summary>
+/// 实例化命令
+/// 添加要实例化的物体、实例化物体的内容
+/// </summary>
 public class InstantiateCommand : ICommand
 {
     private GameObject prefab;

+ 0 - 15
Assets/Scripts/Blue/Command/LoadMapFileCommand.cs

@@ -1,15 +0,0 @@
-using Blue;
-
-public class LoadMapFileCommand : ICommand
-{
-    private string mFileName;
-    public LoadMapFileCommand(string fileName)
-    {
-        mFileName = fileName;
-    }
-
-    public void OnExcute()
-    {
-        this.TriggerEvent<LoadMapFileEvent>(new LoadMapFileEvent(){fileName = mFileName});
-    }
-}

+ 0 - 11
Assets/Scripts/Blue/Command/LoadMapFileCommand.cs.meta

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

+ 46 - 0
Assets/Scripts/Blue/Command/PointFileGetUrlCommand.cs

@@ -0,0 +1,46 @@
+using Blue;
+using Newtonsoft.Json.Linq;
+using Newtonsoft.Json;
+
+/// <summary>
+/// 获取点云文件(json、bytes)的Url下载地址命令
+/// </summary>
+public class PointFileGetUrlCommand : ICommand
+{
+    private string methodName = "/project/pointcloud";
+    private int sceneID;
+    private PointFileType fileType;
+
+    /// <summary>
+    /// 获取点云文件(json、bytes)的Url下载地址命令
+    /// </summary>
+    /// <param name="sceneId">场景ID</param>
+    /// <param name="fileType">文件类型</param>
+    public PointFileGetUrlCommand(int sceneId, PointFileType fileType)
+    {
+        this.sceneID = sceneId;
+        this.fileType = fileType;
+    }
+    public void OnExcute()
+    {
+        this.GetService<IPointService>().GetPointFileDownloadUrl(methodName, sceneID.ToString(), fileType, GetPointFileUrlSuccess);
+    }
+
+    private void GetPointFileUrlSuccess(string message)
+    {
+        if (!string.IsNullOrWhiteSpace(message))
+        {
+            JObject jobject = JObject.Parse(message);
+            if (jobject["code"].ToString() == "200")
+            {
+                message = jobject["data"].ToString();
+                if (!string.IsNullOrWhiteSpace(message))
+                {
+                    PointFileData PointFile = JsonConvert.DeserializeObject<PointFileData>(message);
+
+                    this.GetService<IPointService>().DownloadPointFile(PointFile.url, fileType);
+                }
+            }
+        }
+    }
+}

+ 1 - 1
Assets/Scripts/Blue/Command/DownloadFileCommand.cs.meta → Assets/Scripts/Blue/Command/PointFileGetUrlCommand.cs.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 047677d12c1f73b4584653298453bee5
+guid: 1d8c533c14e76b34c97f35b6cafeb6ab
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2

+ 22 - 0
Assets/Scripts/Blue/Command/PointPosRotDownloadCommand.cs

@@ -0,0 +1,22 @@
+using Blue;
+
+/// <summary>
+/// 下载移动场景的Pos、Rot
+/// </summary>
+public class PointPosRotDownloadCommand : ICommand
+{
+    private int sceneID;
+
+    /// <summary>
+    /// 获取移动场景的Pos、Rot命令
+    /// </summary>
+    /// <param name="projectID">场景ID</param>
+    public PointPosRotDownloadCommand(int sceneID)
+    {
+        this.sceneID = sceneID;
+    }
+    public void OnExcute()
+    {
+        this.GetService<IUpOrDownloadService>().GetScenePosRot(sceneID);
+    }
+}

+ 0 - 0
Assets/Scripts/Blue/Command/DownloadCommand.cs.meta → Assets/Scripts/Blue/Command/PointPosRotDownloadCommand.cs.meta


+ 3 - 3
Assets/Scripts/Blue/Command/UploadCommand.cs → Assets/Scripts/Blue/Command/PointPosRotUploadCommand.cs

@@ -1,13 +1,13 @@
 using Blue;
 
 /// <summary>
-/// 上传移动场景的Postion、Rotatiuon
+/// 涓婁紶绉诲姩鍦烘櫙鐨凱os銆丷ot
 /// </summary>
-public class UploadCommand : ICommand
+public class PointPosRotUploadCommand : ICommand
 {
     private string Url;
     private string JsonString;
-    public UploadCommand(string Url, string JsonString)
+    public PointPosRotUploadCommand(string Url, string JsonString)
     {
         this.Url = Url;
         this.JsonString = JsonString;

+ 11 - 0
Assets/Scripts/Blue/Command/PointPosRotUploadCommand.cs.meta

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

+ 3 - 0
Assets/Scripts/Blue/Command/StartImmersalLocalizerCommand.cs

@@ -1,5 +1,8 @@
 using Blue;
 
+/// <summary>
+/// 开始Immersal本地化定位识别命令
+/// </summary>
 public class StartImmersalLocalizerCommand : ICommand
 {
     public void OnExcute()

+ 0 - 11
Assets/Scripts/Blue/Command/UploadCommand.cs.meta

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

+ 0 - 97
Assets/Scripts/Blue/Controller/DownloadPointFile.cs

@@ -1,97 +0,0 @@
-using System.Collections;
-using System.IO;
-using Blue;
-#if UNITY_EDITOR
-using UnityEditor;
-#endif
-using UnityEngine;
-using UnityEngine.Networking;
-
-public class DownloadPointFile : AbstractController
-{
-    private UnityWebRequest webRequestPointByte;
-    private UnityWebRequest webRequestPointJson;
-    private void Awake()
-    {
-        this.SubscribeEvent<DownLoadMapFileEvent>(Download).UnSubScribeWhenGameObjectDestroyed(gameObject);
-    }
-
-    private void Download(DownLoadMapFileEvent e)
-    {
-        if (e.FileType == "json")
-            StartCoroutine(DownLoadFile(webRequestPointJson, e.Url, "." + e.FileType, e.ProjectID.ToString()));
-        else
-            StartCoroutine(DownLoadFile(webRequestPointByte, e.Url, "." + e.FileType, e.ProjectID.ToString()));
-    }
-    private IEnumerator DownLoadFile(UnityWebRequest webRequestPoint, string downloadingUrl, string fileType, string projectId)
-    {
-        string fileName = this.GetUtility<GetFileNameUtility>().GetFileName(downloadingUrl, fileType);
-
-        if (!PlayerPrefs.HasKey(projectId+ fileType) || 
-            PlayerPrefs.GetString(projectId+ fileType) != fileName||
-            !File.Exists(Application.persistentDataPath + "/Map Data/" + fileName))
-        {
-            PlayerPrefs.SetString(projectId+ fileType, fileName);
-            Debug.LogError("文件不存在,下载文件");
-            //发送请求
-            webRequestPoint = UnityWebRequest.Get(downloadingUrl);
-            webRequestPoint.timeout = 30;//设置超时,若webRequest.SendWebRequest()连接超时会返回,且isNetworkError为true
-            yield return webRequestPoint.SendWebRequest();
-
-            if (webRequestPoint.result == UnityWebRequest.Result.ConnectionError) Debug.Log("Download Point Cloud Error:" + webRequestPoint.error);
-            else
-            {
-                if (Directory.Exists(Application.persistentDataPath + "/Map Data") == false)
-                    Directory.CreateDirectory(Application.persistentDataPath + "/Map Data");
-                if (System.IO.File.Exists(Application.persistentDataPath + "/Map Data/" + fileName))
-                    System.IO.File.Delete(Application.persistentDataPath + "/Map Data/" + fileName);
-                //获取二进制数据
-                var File = webRequestPoint.downloadHandler.data;
-                //创建文件写入对象
-                FileStream nFile = new FileStream(Application.persistentDataPath + "/Map Data/" + fileName, FileMode.Create);
-                //写入数据
-                nFile.Write(File, 0, File.Length);
-                //关闭当前流并释放与之相关联的所有系统资源
-                nFile.Close(); nFile.Dispose(); nFile = null;
-                if (fileType == ".bytes")
-                {
-#if UNITY_EDITOR
-                    AssetDatabase.Refresh();
-#endif
-                    this.SendCommand(new LoadMapFileCommand(fileName) { });
-                }
-            }
-        }
-        else
-        {
-            //Debug.LogError("文件已存在");
-            if (fileType == ".bytes")
-            {
-                this.SendCommand(new LoadMapFileCommand(fileName) { });
-            }
-        }
-    }
-
-    /// <summary>
-    /// 获取下载进度
-    /// </summary>
-    public float GetProcess(UnityWebRequest webRequestPoint)
-    {
-        if (webRequestPoint!=null)
-        {
-            return webRequestPoint.downloadProgress;
-        }
-        return 0;
-    }
-    /// <summary>
-    /// 获取当前下载内容长度
-    /// </summary>
-    public long GetCurrentLength(UnityWebRequest webRequestPoint)
-    {
-        if (webRequestPoint != null)
-        {
-            return (long)webRequestPoint.downloadedBytes;
-        }
-        return 0;
-    }
-}

+ 0 - 11
Assets/Scripts/Blue/Controller/DownloadPointFile.cs.meta

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

+ 0 - 38
Assets/Scripts/Blue/Controller/PointCouldAutoMatchController.cs

@@ -1,38 +0,0 @@
-using Blue;
-using System;
-using UnityEngine;
-
-public class PointCouldAutoMatchController : AbstractController
-{
-    public GameObject AR_Map;
-
-    public Vector2 pos1;
-    public Vector2 pos2;
-
-    public double angle;
-
-    public Vector3 ScenePos1;
-    public Vector3 ScenePos2;
-
-    private void Awake()
-    {
-        this.SubscribeEvent<GetPointPosSuccessEvent>(GetPointPosSuccess);
-    }
-
-    private void GetPointPosSuccess(GetPointPosSuccessEvent e)
-    {
-        // 因为屏幕坐标跟普通坐标不同,所依y为-y
-        angle = this.GetUtility<IGetAngleByTwoPointUtility>().GetAngleByTwoPoint(e.pointJsonInfos[0].x, -e.pointJsonInfos[0].y, e.pointJsonInfos[1].x, -e.pointJsonInfos[1].y);
-        AR_Map.transform.localEulerAngles = new Vector3(0.0f, (float)angle, 0.0f);  //获取角度
-
-        pos1 = new Vector2(e.pointJsonInfos[0].x, e.pointJsonInfos[0].y);
-        pos2 = new Vector2(e.pointJsonInfos[1].x, e.pointJsonInfos[1].y);
-        this.UnSubscribeEvent<GetPointPosSuccessEvent>(GetPointPosSuccess);
-    }
-    public void SetPos(Vector3 pos1, Vector3 pos2)
-    {
-        AR_Map.transform.localPosition = pos1;
-        ScenePos1 = pos1;
-        ScenePos2 = pos2;
-    }
-}

+ 0 - 11
Assets/Scripts/Blue/Controller/PointCouldAutoMatchController.cs.meta

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

+ 2 - 1
Assets/Scripts/Blue/Controller/SavePanel.cs

@@ -30,6 +30,7 @@ public class SavePanel : AbstractController
         cancleBtn.onClick.AddListener(Cancle);
     }
 
+    private string URL = "https://api-fat3.ghz-tech.com/mr-navigator/v1/project/createposition";
     private void Save()
     {
         meshTest.transform.parent = parent;
@@ -41,7 +42,7 @@ public class SavePanel : AbstractController
         posRotlist[1].y = meshTest.localEulerAngles.y;
         posRotlist[1].z = meshTest.localEulerAngles.z;
         string jsonString = JsonConvert.SerializeObject(posRotlist);
-        this.SendCommand(new UploadCommand(this.GetService<IUpOrDownloadService>().URL, jsonString));
+        this.SendCommand(new PointPosRotUploadCommand(URL, jsonString));
         sCToggleSwitch3D.isOn = false;
         gameObject.SetActive(false);
     }

+ 0 - 1
Assets/Scripts/Blue/Controller/SetPos/MinMapPos.cs

@@ -5,7 +5,6 @@ public class MinMapPos : MonoBehaviour
     [SerializeField] private GameObject MinMapCanvas;
     void Start()
     {
-        MinMapCanvas = GameObject.Find("MinMapCanvas");
         if (MinMapCanvas != null)
         {
             MinMapCanvas.transform.parent = OpenXRCamera.Instance.head;

+ 2 - 3
Assets/Scripts/Blue/Controller/SetPos/SetBtnPos.cs

@@ -3,12 +3,11 @@ using UnityEngine;
 public class SetBtnPos : MonoBehaviour
 {
     [SerializeField] private GameObject SetBtn;
-    void Awake()
+    void Start()
     {
-        SetBtn = GameObject.Find("SetBtn");
         if (SetBtn != null)
         {
-           // SetBtn.transform.parent = OpenXRCamera.Instance.head;
+           SetBtn.transform.parent = OpenXRCamera.Instance.head;
         }
     }
 }

+ 0 - 8
Assets/Scripts/Blue/Event/DownLoadMapFileEvent.cs

@@ -1,8 +0,0 @@
-using Blue;
-
-public class DownLoadMapFileEvent : IEvent
-{
-    public int ProjectID;
-    public string Url;
-    public string FileType;
-}

+ 0 - 11
Assets/Scripts/Blue/Event/DownLoadMapFileEvent.cs.meta

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

+ 0 - 7
Assets/Scripts/Blue/Event/GetPointPosSuccessEvent.cs

@@ -1,7 +0,0 @@
-using Blue;
-using System.Collections.Generic;
-
-public class GetPointPosSuccessEvent : IEvent
-{
-    public List<PointJsonInfo> pointJsonInfos;
-}

+ 0 - 11
Assets/Scripts/Blue/Event/GetPointPosSuccessEvent.cs.meta

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

+ 3 - 0
Assets/Scripts/Blue/Event/GetScenePosRotEvent.cs

@@ -1,6 +1,9 @@
 using Blue;
 using System.Collections.Generic;
 
+/// <summary>
+/// »ñÈ¡³¡¾° Pos¡¢Rotʼþ
+/// </summary>
 public class GetScenePosRotEvent : IEvent
 {
     public List<ScenePosRotInfo> PosRot;

+ 3 - 0
Assets/Scripts/Blue/Event/LoadMapFileEvent.cs

@@ -1,5 +1,8 @@
 using Blue;
 
+/// <summary>
+/// 加载地图文件的事件
+/// </summary>
 public class LoadMapFileEvent : IEvent
 {
     public string fileName;

+ 3 - 0
Assets/Scripts/Blue/Event/StartImmersalLocalizerEvent.cs

@@ -1,5 +1,8 @@
 using Blue;
 
+/// <summary>
+/// ¿ªÊ¼Immersal¶¨Î»Ê¼þ
+/// </summary>
 public class StartImmersalLocalizerEvent : IEvent
 {
 

+ 1 - 1
Assets/Scripts/Blue/MRNavigatorPro.cs

@@ -18,11 +18,11 @@ public class MRNavigatorPro : AbstractArchitecture<MRNavigatorPro>
     {
         this.RegisterService<ISendLogService>(new SendLogService());
         this.RegisterService<IUpOrDownloadService>(new UpOrDownloadService());
+        this.RegisterService<IPointService>(new PointService());
     }
 
     private void RegisterUtility()
     {
-        this.RegisterUtility<IGetAngleByTwoPointUtility>(new GetAngleByTwoPointUtility());
         this.RegisterUtility<GetFileNameUtility>(new GetFileNameUtility());
     }
 }

+ 5 - 0
Assets/Scripts/Blue/Other/PointFileType.cs

@@ -0,0 +1,5 @@
+public enum PointFileType
+{
+    json,
+    bytes
+}

+ 11 - 0
Assets/Scripts/Blue/Other/PointFileType.cs.meta

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

+ 5 - 0
Assets/Scripts/Blue/Other/ScenePointBodyInfo.cs

@@ -0,0 +1,5 @@
+public class ScenePointBodyInfo
+{
+    public int id { get; set; }
+    public bool unity { get; set; }
+}

+ 11 - 0
Assets/Scripts/Blue/Other/ScenePointBodyInfo.cs.meta

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

+ 140 - 0
Assets/Scripts/Blue/Service/IPointService.cs

@@ -0,0 +1,140 @@
+using System;
+using System.Collections;
+using System.IO;
+using Blue;
+using UnityEngine;
+using UnityEngine.Networking;
+
+public interface IPointService:IService
+{
+    /// <summary>
+    /// 获取点坐标数据
+    /// </summary>
+    /// <param name="methodName">后缀</param>
+    void GetPoint(string methodName, Action<string> callback);
+    /// <summary>
+    /// 获取点云文件的下载链接
+    /// </summary>
+    /// <param name="methodName">后缀</param>
+    /// <param name="projectId">场景ID</param>
+    /// <param name="fileType">文件类型</param>
+    void GetPointFileDownloadUrl(string methodName, string projectId, PointFileType fileType, Action<string> callback);
+
+    /// <summary>
+    /// 根据点云文件的下载链接去下载点云文件
+    /// </summary>
+    /// <param name="downloadingUrl">点云文件的下载链接</param>
+    /// <param name="fileType">文件类型</param>
+    /// <param name="sceneID">场景ID</param>
+    void DownloadPointFile(string downloadingUrl, PointFileType fileType);
+}
+
+public class PointService : IPointService
+{
+    private string UrlPointCloud;
+    public void OnInit()
+    {
+        UrlPointCloud = "https://pro.qulivr.com/mr-navigator/v1";
+    }
+
+    public void GetPoint(string methodName, Action<string> callback)
+    {
+        CoroutineSystem.Instance.Start_Coroutine(GetPointRequest(methodName, callback));
+    }
+    public void GetPointFileDownloadUrl(string methodName, string projectId, PointFileType fileType, Action<string> callback)
+    {
+        string url = UrlPointCloud + methodName;
+        // 创建URL
+        UriBuilder uriBuilder = new UriBuilder(url);
+        // 添加查询参数
+        uriBuilder.Query = "projectId=" + projectId + "&fileType=" + fileType.ToString();
+        // 创建UnityWebRequest
+        UnityWebRequest webRequest = UnityWebRequest.Get(uriBuilder.Uri);
+        webRequest.SetRequestHeader("Authorization", UserInfo.Instance.Token);
+        // 发送请求
+        CoroutineSystem.Instance.Start_Coroutine(GetPointGetPointFileRequest(webRequest, callback));
+    }
+    public void DownloadPointFile(string downloadingUrl, PointFileType fileType)
+    {
+        CoroutineSystem.Instance.Start_Coroutine(DownloadPointFileRequest(downloadingUrl,fileType));
+    }
+
+    #region 协程
+
+    private IEnumerator GetPointRequest(string methodName, Action<string> callback)
+    {
+        string url = UrlPointCloud + methodName;
+        using (UnityWebRequest webRequest = UnityWebRequest.Get(url))
+        {
+            webRequest.SetRequestHeader("authorization", UserInfo.Instance.Token);
+            //设置header
+            foreach (var v in HttpTool.Instance.RequestHeader)
+            {
+                webRequest.SetRequestHeader(v.Key, v.Value);
+            }
+            yield return webRequest.SendWebRequest();
+
+            if (webRequest.result == UnityWebRequest.Result.ProtocolError || webRequest.result == UnityWebRequest.Result.ConnectionError)
+                Debug.LogError("GetPoint failed: " + webRequest.error + "\n" + webRequest.downloadHandler.text);
+            else
+                callback?.Invoke(webRequest.downloadHandler.text);
+        }
+    }
+    private IEnumerator GetPointGetPointFileRequest(UnityWebRequest webRequest, Action<string> callback)
+    {
+        yield return webRequest.SendWebRequest();
+
+        if( webRequest.result == UnityWebRequest.Result.ProtocolError || webRequest.result == UnityWebRequest.Result.ConnectionError)
+            Debug.LogError("GetPointFileDownloadUrl failed: " + webRequest.error);
+        else
+            callback?.Invoke(webRequest.downloadHandler.text);
+    }
+
+    /// <summary>
+    /// 下载点云文件 UnityWebRequest
+    /// </summary>
+    /// <param name="downloadingUrl">下载的Url</param>
+    /// <param name="fileType">文件类型</param>
+    /// <returns></returns>
+    private IEnumerator DownloadPointFileRequest(string downloadingUrl, PointFileType fileType)
+    {
+        string fileName = this.GetUtility<GetFileNameUtility>().GetFileName(downloadingUrl, fileType.ToString());
+
+        if (!File.Exists(Application.persistentDataPath + "/Map Data/" + fileName))
+        {
+            Debug.LogWarning("文件不存在,下载文件");
+            using (UnityWebRequest webRequestPoint = UnityWebRequest.Get(downloadingUrl))
+            {
+                webRequestPoint.timeout = 30;//设置超时,若webRequest.SendWebRequest()连接超时会返回,且isNetworkError为true
+
+                yield return webRequestPoint.SendWebRequest();
+
+                if (webRequestPoint.result == UnityWebRequest.Result.ProtocolError || webRequestPoint.result == UnityWebRequest.Result.ConnectionError)
+                    Debug.Log("Download Point Cloud Error:" + webRequestPoint.error);
+                else
+                {
+                    if (Directory.Exists(Application.persistentDataPath + "/Map Data") == false) // Map Data文件夹不存在
+                        Directory.CreateDirectory(Application.persistentDataPath + "/Map Data");
+                    if (System.IO.File.Exists(Application.persistentDataPath + "/Map Data/" + fileName)) // Map Data/fileName 文件存在则删除
+                        System.IO.File.Delete(Application.persistentDataPath + "/Map Data/" + fileName);
+                    
+                    var File = webRequestPoint.downloadHandler.data; //获取二进制数据
+                    FileStream nFile = new FileStream(Application.persistentDataPath + "/Map Data/" + fileName, FileMode.Create); //创建文件写入对象
+                    nFile.Write(File, 0, File.Length); //写入数据
+                    nFile.Close(); nFile.Dispose(); nFile = null;//关闭当前流并释放与之相关联的所有系统资源
+                    if (fileType == PointFileType.bytes)
+                        this.TriggerEvent(new LoadMapFileEvent() { fileName = fileName });
+                }
+            }
+               
+        }
+        else
+        {
+            Debug.LogWarning("文件已存在");
+            if (fileType == PointFileType.bytes)
+                this.TriggerEvent(new LoadMapFileEvent() { fileName = fileName });
+        }
+    }
+
+    #endregion
+}

+ 11 - 0
Assets/Scripts/Blue/Service/IPointService.cs.meta

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

+ 52 - 25
Assets/Scripts/Blue/Service/IUpOrDownloadService.cs

@@ -2,7 +2,6 @@ using Blue;
 using LitJson;
 using Newtonsoft.Json;
 using Newtonsoft.Json.Linq;
-using System;
 using System.Collections;
 using System.Collections.Generic;
 using System.Text;
@@ -12,53 +11,82 @@ using UnityEngine.Networking;
 public interface IUpOrDownloadService : IService
 {
     List<ScenePosRotInfo> PosRot { get; }
-    string URL { get; }
-    void GetScenePosRot(string Url);
+    void GetScenePosRot(int projectID);
     void UploadScenePosRot(string Url, string JsonString);
 }
 
 public class UpOrDownloadService : IUpOrDownloadService
 {
     public List<ScenePosRotInfo> PosRot { get; private set; }
-    public string URL { get; private set; }
+    public int ProjectID { get; private set; }
+    private string UrlPointCloudPosRot;
 
     public void OnInit()
     {
+        UrlPointCloudPosRot = "https://api-fat3.ghz-tech.com/mr-navigator/v1/project/position";
+    }
 
+    void IUpOrDownloadService.GetScenePosRot(int projectID)
+    {
+        CoroutineSystem.Instance.StartCoroutine(GetScenePosRotRequest(projectID));
     }
 
-    void IUpOrDownloadService.GetScenePosRot(string Url)
+    void IUpOrDownloadService.UploadScenePosRot(string Url, string JsonString)
     {
-        RootSystem.Instance.StartCoroutine(HttpTool.Instance.SendHttp(Url,"",(message)=> {
-            JObject jobject = JObject.Parse(message);
-            if (jobject["code"].ToString() == "200")
+        CoroutineSystem.Instance.StartCoroutine(RequestUpload(Url,JsonString));
+    }
+
+    private IEnumerator GetScenePosRotRequest(int projectID)
+    {
+        using (UnityWebRequest webRequest = new UnityWebRequest(UrlPointCloudPosRot, "POST"))
+        {
+            ProjectID = projectID;
+            ScenePointBodyInfo TestGet = new ScenePointBodyInfo();
+            TestGet.id = projectID;
+            TestGet.unity = true;
+            string jsonData = JsonConvert.SerializeObject(TestGet);
+            byte[] bodyRaw = Encoding.UTF8.GetBytes(jsonData);
+
+            webRequest.uploadHandler = (UploadHandler)new UploadHandlerRaw(bodyRaw);
+            webRequest.downloadHandler = new DownloadHandlerBuffer();
+
+            webRequest.SetRequestHeader("Content-Type", "application/json;charset=utf-8");
+            webRequest.SetRequestHeader("authorization", UserInfo.Instance.Token);
+
+            yield return webRequest.SendWebRequest();
+
+            if (webRequest.result== UnityWebRequest.Result.ProtocolError || webRequest.result == UnityWebRequest.Result.ConnectionError)
+                Debug.LogError("UnityWebRequest Error:"+webRequest.downloadHandler.text);
+            else
             {
-                message = jobject["data"].ToString();
-                if (!string.IsNullOrWhiteSpace(message))
+                if (!string.IsNullOrWhiteSpace(webRequest.downloadHandler.text))
                 {
-                    List<ScenePosRotInfo> ScenePosRotInfoList = JsonConvert.DeserializeObject<List<ScenePosRotInfo>>(message);
-                    PosRot = ScenePosRotInfoList;
-                    URL = Url;
-                    this.TriggerEvent(new GetScenePosRotEvent() { PosRot = PosRot });
+                    string message = webRequest.downloadHandler.text;
+                    JObject jobject = JObject.Parse(message);
+                    if (jobject["code"].ToString() == "200")
+                    {
+                        message = jobject["data"].ToString();
+                        if (!string.IsNullOrWhiteSpace(message))
+                        {
+                            List<ScenePosRotInfo> ScenePosRotInfoList = JsonConvert.DeserializeObject<List<ScenePosRotInfo>>(message);
+                            PosRot = ScenePosRotInfoList;
+                            this.TriggerEvent(new GetScenePosRotEvent() { PosRot = PosRot });
+                        }
+                    }
                 }
             }
-
-        },false));
-    }
-
-    void IUpOrDownloadService.UploadScenePosRot(string Url, string JsonString)
-    {
-        RootSystem.Instance.StartCoroutine(RequestUpload(Url,JsonString));
+        }
     }
 
     public IEnumerator RequestUpload(string Url, string jsonString)
     {
-        Debug.Log("Start Queue RequestUpload " + Url);
         using (UnityWebRequest webRequest = new UnityWebRequest(Url, "POST"))
         {
             JsonData data = JsonMapper.ToObject(jsonString);
             JsonData d2 = new JsonData();
             d2["position"] = data;
+            d2["id"] = ProjectID;
+            d2["unity"] = true;
             byte[] bodyRaw = Encoding.UTF8.GetBytes(d2.ToJson());
 
             webRequest.uploadHandler = (UploadHandler)new UploadHandlerRaw(bodyRaw);
@@ -79,11 +107,10 @@ public class UpOrDownloadService : IUpOrDownloadService
                 InstantiateCommand Command = new InstantiateCommand(
                     InstantiateSystem.Instance.BlueObject.WarningPopUp,
                     InstantiateSystem.Instance.BlueObject.NetErrorText);
-                CommandExtensionSystem.Instance.Send(Command);
+                CommandSystem.Instance.Send(Command);
             }
             else
             {
-                Debug.LogError(webRequest.downloadHandler.text);
                 if (!string.IsNullOrWhiteSpace(webRequest.downloadHandler.text))
                 {
                     string message = webRequest.downloadHandler.text;
@@ -101,7 +128,7 @@ public class UpOrDownloadService : IUpOrDownloadService
                 InstantiateCommand Command = new InstantiateCommand(
                     InstantiateSystem.Instance.BlueObject.WarningPopUp,
                     InstantiateSystem.Instance.BlueObject.SuccessText);
-                CommandExtensionSystem.Instance.Send(Command);
+                CommandSystem.Instance.Send(Command);
             }
         }
     }

+ 1 - 1
Assets/Scripts/Blue/System/CommandExtensionSystem.cs → Assets/Scripts/Blue/System/CommandSystem.cs

@@ -1,6 +1,6 @@
 using Blue;
 
-public class CommandExtensionSystem : SingletonMonobehaviour<CommandExtensionSystem>
+public class CommandSystem : SingletonMonobehaviour<CommandSystem>
 {
     /// <summary>
     /// 发送命令

+ 0 - 0
Assets/Scripts/Blue/System/CommandExtensionSystem.cs.meta → Assets/Scripts/Blue/System/CommandSystem.cs.meta


+ 2 - 2
Assets/Scripts/Blue/System/RootSystem.cs → Assets/Scripts/Blue/System/CoroutineSystem.cs

@@ -2,7 +2,7 @@ using System.Collections;
 using UnityEngine;
 using Blue;
 
-public class RootSystem : SingletonMonobehaviour<RootSystem>
+public class CoroutineSystem : SingletonMonobehaviour<CoroutineSystem>
 {
     /// <summary>
     /// 启动一个协程
@@ -19,4 +19,4 @@ public class RootSystem : SingletonMonobehaviour<RootSystem>
     {
         StopCoroutine(routine);
     }
-}
+}

+ 0 - 0
Assets/Scripts/Blue/System/RootSystem.cs.meta → Assets/Scripts/Blue/System/CoroutineSystem.cs.meta


+ 5 - 1
Assets/Scripts/Blue/System/InstantiateSystem.cs

@@ -21,12 +21,16 @@ public class InstantiateSystem : SingletonMonobehaviour<InstantiateSystem>
         {
             // 修改显示内容,并实例化到CenterCamera
             prefab.GetComponentInChildren<TextMeshProUGUI>().text = content;
+            /*
             GameObject CenterCamera = GameObject.Find("SDKSystem/NRCameraRig/CenterCamera");
             if(CenterCamera!=null)
                 Instantiate(prefab, CenterCamera.transform);
+            */
+            if (OpenXRCamera.Instance.head != null)
+                Instantiate(prefab, OpenXRCamera.Instance.head);
 
             // 关闭加载界面
-            if(objDic.TryGetValue("LoadingPanel(Clone)",out GameObject LoadingPanel))
+            if (objDic.TryGetValue("LoadingPanel(Clone)",out GameObject LoadingPanel))
             {
                 if (LoadingPanel.activeSelf)
                     LoadingPanel.SetActive(false);

+ 1 - 1
Assets/Scripts/Blue/Test/BlueTest.cs

@@ -18,7 +18,7 @@ public class BlueTest : AbstractController
             string jsonString = JsonConvert.SerializeObject(list);
             string url = "https://api-fat1.ghz-tech.com/mr-navigator/v1/project/position/396";
             //HttpTool.Instance.UploadScenePosRot(url,jsonString,CallBack);
-            //this.SendCommand(new UploadCommand(url, HttpTool.Instance.RequestHeader, HttpTool.Instance.Token, jsonString));
+            //this.SendCommand(new PointPosRotUploadCommand(url, HttpTool.Instance.RequestHeader, HttpTool.Instance.Token, jsonString));
         }
     }
     private void CallBack(string e)

+ 2 - 2
Assets/Scripts/Blue/Utility/CoroutineUtility.cs

@@ -5,11 +5,11 @@ public static class CoroutineUtility
 {
     public static void StartCoroutine(IEnumerator  coroutine)
     {
-        RootSystem.Instance.Start_Coroutine(coroutine);
+        CoroutineSystem.Instance.Start_Coroutine(coroutine);
     }
 
     public static void StopCoroutine(Coroutine  coroutine)
     {
-        RootSystem.Instance.Stop_Coroutine(coroutine);
+        CoroutineSystem.Instance.Stop_Coroutine(coroutine);
     }
 }

+ 0 - 37
Assets/Scripts/Blue/Utility/GetAngleByTwoPointUtility.cs

@@ -1,37 +0,0 @@
-using System;
-using Blue;
-using UnityEngine;
-
-public interface IGetAngleByTwoPointUtility:IUtility
-{
-    double GetAngleByTwoPoint(Vector2 startPoint, Vector2 endPoint);
-    double GetAngleByTwoPoint(float startPoint_X, float startPoint_Y, float endPoint_X, float ednPoint_Y);
-}
-
-public class GetAngleByTwoPointUtility : IGetAngleByTwoPointUtility
-{
-    /// <summary>
-    /// 根据两点求角度
-    /// </summary>
-    /// <param name="startPoint">开始点坐标</param>
-    /// <param name="endPoint">结束点坐标</param>
-    /// <returns>角度</returns>
-    double IGetAngleByTwoPointUtility.GetAngleByTwoPoint(Vector2 startPoint,Vector2 endPoint)
-    {
-        return GetAngleByTwoPoint(startPoint.x,startPoint.y,endPoint.x,endPoint.y);
-    }
-
-    /// <summary>
-    /// 根据两点求角度
-    /// </summary>
-    /// <param name="startPoint_X">开始点X值</param>
-    /// <param name="startPoint_Y">开始点Y值</param>
-    /// <param name="endPoint_X">结束点X值</param>
-    /// <param name="ednPoint_Y">结束点Y值</param>
-    /// <returns>角度</returns>
-    public double GetAngleByTwoPoint(float startPoint_X,float startPoint_Y ,float endPoint_X,float ednPoint_Y)
-    {
-        return Math.Atan2(ednPoint_Y - startPoint_Y, endPoint_X - startPoint_X) * (180.0 / Math.PI);
-    }
-
-}

+ 0 - 11
Assets/Scripts/Blue/Utility/GetAngleByTwoPointUtility.cs.meta

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

+ 29 - 0
Assets/Scripts/Blue/Utility/UnityWebRequestUtility.cs

@@ -0,0 +1,29 @@
+using Blue;
+using UnityEngine.Networking;
+
+public class UnityWebRequestUtility : IUtility
+{
+    /// <summary>
+    /// 获取下载进度
+    /// </summary>
+    public float GetProcess(UnityWebRequest webRequestPoint)
+    {
+        if (webRequestPoint != null)
+        {
+            return webRequestPoint.downloadProgress;
+        }
+        return 0;
+    }
+
+    /// <summary>
+    /// 获取当前下载内容长度
+    /// </summary>
+    public long GetCurrentLength(UnityWebRequest webRequestPoint)
+    {
+        if (webRequestPoint != null)
+        {
+            return (long)webRequestPoint.downloadedBytes;
+        }
+        return 0;
+    }
+}

+ 11 - 0
Assets/Scripts/Blue/Utility/UnityWebRequestUtility.cs.meta

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

+ 18 - 11
Assets/Scripts/LayoutGroup/DRFanLayout.cs

@@ -1,4 +1,5 @@
-using SC.XR.Unity;
+using SC.XR.Unity;
+using System;
 using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
@@ -78,11 +79,11 @@ public class DRFanLayout : MonoBehaviour
                         //Set text position
                         if (mat.textPosition == "top")
                         {
-                            go.transform.localPosition = new Vector3(0, 0.3f, 0);
+                            go.transform.localPosition = new Vector3(0, 1f, 0);
                         }
                         else if (mat.textPosition == "bottom")
                         {
-                            go.transform.localPosition = new Vector3(0, -0.3f, 0);
+                            go.transform.localPosition = new Vector3(0, -1f, 0);
                         }
                     }
                     mat.ObjectTransform.SetStartValue(go.transform.localPosition, go.transform.localEulerAngles, go.transform.localScale);
@@ -120,7 +121,7 @@ public class DRFanLayout : MonoBehaviour
 
     public static void CalLayout(ModelList materialObls, GameObject par)
     {
-       
+
         BaseTemPlate text = new BaseTemPlate();
         ModelItem textmat = null;
         List<BaseTemPlate> noText = new List<BaseTemPlate>();
@@ -139,7 +140,7 @@ public class DRFanLayout : MonoBehaviour
                     go = Instantiate(pImage, par.transform);
                     var imageitem = go.AddComponent<TemplateImage>();
                     go.SetActive(true);
-                   // imageitem.SetData(mat, materialObls.updateTime);
+                    // imageitem.SetData(mat, materialObls.updateTime);
                     noText.Add(imageitem);
                     break;
                 case (int)MaterialType.Video:
@@ -147,7 +148,7 @@ public class DRFanLayout : MonoBehaviour
                     go = Instantiate(pVideo, par.transform);
                     var videoitem = go.AddComponent<TemplateVideo>();
                     go.SetActive(true);
-                 //   videoitem.SetData(mat, materialObls.updateTime);
+                    //   videoitem.SetData(mat, materialObls.updateTime);
                     noText.Add(videoitem);
                     break;
                 case (int)MaterialType.Text:
@@ -156,7 +157,7 @@ public class DRFanLayout : MonoBehaviour
                     go = Instantiate(pText, par.transform);
                     var textitem = go.AddComponent<TemplateText>();
                     go.SetActive(true);
-                  //  textitem.SetData(mat, materialObls.updateTime);
+                    //  textitem.SetData(mat, materialObls.updateTime);
                     text = textitem;
                     go.SetActive(false);
                     break;
@@ -201,7 +202,7 @@ public class DRFanLayout : MonoBehaviour
                 ObjectValue objectValue = new ObjectValue(i, materialObls.id, mat.name, go);
                 objectValues.Add(objectValue);
                 mat.prefabModel = go;
-                
+
             }
         }
 
@@ -227,9 +228,10 @@ public class DRFanLayout : MonoBehaviour
         }
         #endregion
 
-       
+
     }
 
+
     /// <summary>
     /// 根据数量排列图片或文字
     /// </summary>
@@ -254,7 +256,12 @@ public class DRFanLayout : MonoBehaviour
         data[3].transform.localPosition += new Vector3(0, 0, -0.2f);
         data[3].transform.localRotation = Quaternion.Euler(0, -30, 0);
 
-        data[5].transform.localPosition += new Vector3(0, 0, -0.2f);
-        data[5].transform.localRotation = Quaternion.Euler(0, 30, 0);
+        if (data.Count < 6)
+            Debug.LogWarning("双排扇形不足六个元素图片或视频");
+        else
+        {
+            data[5].transform.localPosition += new Vector3(0, 0, -0.2f);
+            data[5].transform.localRotation = Quaternion.Euler(0, 30, 0);
+        }
     }
 }

+ 2 - 2
Assets/Scripts/LayoutGroup/DRTitleLayout.cs

@@ -90,11 +90,11 @@ public class DRTitleLayout : MonoBehaviour
                         //Set text position
                         if (mat.textPosition == "top")
                         {
-                            go.transform.localPosition = new Vector3(0, 0.3f, 0);
+                            go.transform.localPosition = new Vector3(0, 1f, 0);
                         }
                         else if (mat.textPosition == "bottom")
                         {
-                            go.transform.localPosition = new Vector3(0, -0.3f, 0);
+                            go.transform.localPosition = new Vector3(0, -1f, 0);
                         }
                     }
                     mat.ObjectTransform.SetStartValue(go.transform.localPosition, go.transform.localEulerAngles, go.transform.localScale);

+ 2 - 2
Assets/Scripts/LayoutGroup/SRSectorLayout.cs

@@ -87,11 +87,11 @@ public class SRSectorLayout : MonoBehaviour
                         //Set text position
                         if (mat.textPosition == "top")
                         {
-                            go.transform.localPosition = new Vector3(0, 0.3f, 0);
+                            go.transform.localPosition = new Vector3(0, 0.6f, 0);
                         }
                         else if (mat.textPosition == "bottom")
                         {
-                            go.transform.localPosition = new Vector3(0, -0.3f, 0);
+                            go.transform.localPosition = new Vector3(0, -0.6f, 0);
                         }
                     }
                     mat.ObjectTransform.SetStartValue(go.transform.localPosition, go.transform.localEulerAngles, go.transform.localScale);

+ 2 - 2
Assets/Scripts/LayoutGroup/SRTitleLayout.cs

@@ -87,11 +87,11 @@ public class SRTitleLayout : MonoBehaviour
                         //Set text position
                         if (mat.textPosition == "top")
                         {
-                            go.transform.localPosition = new Vector3(0, 0.3f, 0);
+                            go.transform.localPosition = new Vector3(0, 0.6f, 0);
                         }
                         else if (mat.textPosition == "bottom")
                         {
-                            go.transform.localPosition = new Vector3(0, -0.3f, 0);
+                            go.transform.localPosition = new Vector3(0, -0.6f, 0);
                         }
                     }
                     mat.ObjectTransform.SetStartValue(go.transform.localPosition, go.transform.localEulerAngles, go.transform.localScale);

+ 1 - 1
Assets/Scripts/LayoutTemplate/TemplateModel.cs

@@ -52,7 +52,7 @@ public class TemplateModel : BaseTemPlate
                                 Debug.LogError("  GHZ_OOBE_230721 Packages内AudioManager组件丢失");
                                 audio = new GameObject();
                             }
-                            GameObject Audio = GameObject.Instantiate(audio, null);
+                            GameObject Audio = GameObject.Instantiate(audio, transform);
                             Audio.name = "AudioManager";
                         }
                         break;

+ 1 - 1
Assets/Scripts/Net/HttpSocket.cs

@@ -88,7 +88,7 @@ public class HttpSocket : MonoSingleton<HttpSocket>
         sendNet.status = state;
         string jsonData = JsonMapper.ToJson(sendNet);
         Debug.Log(jsonData);
-        HttpTool.Instance.Post("/sn/electricity", jsonData, CallBack);
+        HttpTool.Instance.Post(HttpAction.sn_electricity, jsonData, CallBack);
     }
 
 

+ 1 - 1
Assets/Scripts/UI/AnchorEditorPanel/UIAnchorsPanel.cs

@@ -83,7 +83,7 @@ public class UIAnchorsPanel : UIPanelBase
             InstantiateCommand Command = new InstantiateCommand(
                 InstantiateSystem.Instance.BlueObject.WarningPopUp,
                 InstantiateSystem.Instance.BlueObject.NetErrorText);
-            CommandExtensionSystem.Instance.Send(Command);
+            CommandSystem.Instance.Send(Command);
             return;
         }
         Debug.Log("SaveCallBack:  " + message);

+ 1 - 1
Assets/Scripts/UI/EdirPanel/UIMaterialsPanel.cs

@@ -288,7 +288,7 @@ public class UIMaterialsPanel : UIPanelBase, EventObserver
             InstantiateCommand Command =new InstantiateCommand(
                 InstantiateSystem.Instance.BlueObject.WarningPopUp,
                 InstantiateSystem.Instance.BlueObject.NetErrorText);
-            CommandExtensionSystem.Instance.Send(Command);
+            CommandSystem.Instance.Send(Command);
             return;
         }
 

+ 7 - 2
Assets/Scripts/UI/GameManager.cs

@@ -208,7 +208,6 @@ public class GameManager : MonoSingleton<GameManager>
         set { m_AnchorChild = value; }
     }
 
-    public PointCouldAutoMatchController point; 
     private void Awake()
     {
         
@@ -652,8 +651,14 @@ public class GameManager : MonoSingleton<GameManager>
         {
             StartCreateScene(scene);
         }
+        Invoke("MoveScenePatch",1);
+    }
+    private void MoveScenePatch()
+    {
+        Vector3 temp = ObjsParent.parent.localPosition;
+        temp.z += MapSize.y;
+        ObjsParent.parent.localPosition = temp;
     }
-
     private void StartCreateScene(SceneValue scene)
     {
         if (scene.navLines != null && scene.navLines.Count > 0)

+ 1 - 0
Assets/Scripts/UI/LoginPanel.cs

@@ -581,6 +581,7 @@ public class LoginPanel : BaseUI
         // m_AccountStr = "ghztest2@ghz-tech.com";
         // m_PasswordStr = "123456Aa";
         m_AccountStr = "1768147286@qq.com";
+        m_AccountStr = "jiajun.hu@ghz-tech.com";
         // m_AccountStr = "yhb_adv10@1.com";
         m_PasswordStr = "123456Aa";
 #endif

+ 4 - 53
Assets/Scripts/UI/SceneChoose.cs

@@ -78,29 +78,9 @@ public class SceneChoose : BaseUI
             detail.id = m_CurrentData.id;
             string str = JsonConvert.SerializeObject(detail);
 
-
-            //获取账号下的点数据
-            HttpTool.Instance.GetPoint("/project/position/" + detail.id.ToString(), message =>
-             {
-                 if (!string.IsNullOrWhiteSpace(message))
-                 {
-                     JObject jobject = JObject.Parse(message);
-                     if (jobject["code"].ToString() == "200")
-                     {
-                         message = jobject["data"].ToString();
-                         if (!string.IsNullOrWhiteSpace(message))
-                         {
-                             List<PointJsonInfo> listScenesPage = JsonConvert.DeserializeObject<List<PointJsonInfo>>(message);
-                             this.SendCommand(new GetPointPosSuccessCommand(listScenesPage));
-                             return;
-                         }
-                     }
-                 }
-             },true);
-
-            DownLoadFile(detail.id,"json");
-            DownLoadFile(detail.id,"bytes");
-            GetScenePosRot(detail.id,"bytes");
+            this.SendCommand(new PointFileGetUrlCommand(detail.id, PointFileType.json));
+            this.SendCommand(new PointFileGetUrlCommand(detail.id, PointFileType.bytes));
+            this.SendCommand(new PointPosRotDownloadCommand(detail.id));
 
             HttpTool.Instance.PostTest("/project/detail", str, (mes) =>
             {
@@ -133,35 +113,6 @@ public class SceneChoose : BaseUI
         }
     }
 
-    private void DownLoadFile(int projectId,string fileType)
-    {
-        //获取账号下的点云文件数据
-        HttpTool.Instance.GetPointFile("/project/pointcloud", projectId.ToString(),fileType, message=>
-        {
-            if (!string.IsNullOrWhiteSpace(message))
-                {
-                    JObject jobject = JObject.Parse(message);
-                    if (jobject["code"].ToString() == "200")
-                    {
-                        message = jobject["data"].ToString();
-                        if (!string.IsNullOrWhiteSpace(message))
-                        {
-                            PointFileData PointFile = JsonConvert.DeserializeObject<PointFileData>(message);
-                            //Debug.LogError(PointFile.url);
-                            this.SendCommand<DownloadFileCommand>(new DownloadFileCommand(PointFile.url,fileType,projectId){});
-                        }
-                    }
-                }
-        });
-    }
-
-    private void GetScenePosRot(int projectId,string fileType)
-    {
-        string url = "https://api-fat1.ghz-tech.com/mr-navigator/v1/project/position/"+ projectId.ToString();
-
-        this.SendCommand(new DownloadCommand(url));
-    }
-
     private void GetSNInit()
     {
         // 选择场景
@@ -277,9 +228,9 @@ public class SceneChoose : BaseUI
         //创建场景
         GameManager.Instance.CreateScene(scene);
         Hide();
+        
     }
 
-
     private void UpdateSceneItem()
     {
         if (m_SceneData == null)