Bläddra i källkod

2022 07 12 新增CDN下载 修改下载模块和加载模块

Dai Guangjun 2 år sedan
förälder
incheckning
36d798a3d9
45 ändrade filer med 1954 tillägg och 854 borttagningar
  1. BIN
      AssetBundles/Android/Android
  2. 1 1
      AssetBundles/Android/Android.manifest
  3. BIN
      AssetBundles/Android/editorpanel_prefab
  4. 2 2
      AssetBundles/Android/editorpanel_prefab.manifest
  5. 1 1
      AssetBundles/Android/mrhall.manifest
  6. 64 31
      Assets/JsonDotNet/Assemblies/AOT/Newtonsoft.Json.dll.meta
  7. 1 1
      Assets/Resources/EditorPanel.prefab
  8. BIN
      Assets/Resources/Image/VideoB.png
  9. 116 0
      Assets/Resources/Image/VideoB.png.meta
  10. 355 545
      Assets/Resources/Template/Prefab/Video.prefab
  11. 1 1
      Assets/Resources/VuforiaConfiguration.asset
  12. 225 12
      Assets/Scenes/QFrameWorkNewUI.unity
  13. 369 0
      Assets/Scenes/TestDownload.unity
  14. 1 1
      Assets/Scenes/TestDownload.unity.meta
  15. 20 10
      Assets/Scripts/GameManager.cs
  16. 310 25
      Assets/Scripts/Http/HttpTool.cs
  17. 27 0
      Assets/Scripts/Http/TestDownload.cs
  18. 11 0
      Assets/Scripts/Http/TestDownload.cs.meta
  19. 113 72
      Assets/Scripts/Loader/DownLoadManage.cs
  20. 9 7
      Assets/Scripts/Loader/LoadManager.cs
  21. BIN
      Assets/Scripts/UI.zip
  22. 157 123
      Assets/Scripts/UI/EditorPanel.cs
  23. 30 0
      Assets/Scripts/ViewUI/HintLogPanel.cs
  24. 11 0
      Assets/Scripts/ViewUI/HintLogPanel.cs.meta
  25. 18 2
      Assets/Scripts/ViewUI/LoginPanel.cs
  26. 1 1
      Assets/Scripts/ViewUI/SelectScene.cs
  27. 6 1
      Assets/Scripts/Voice/TestGetVoice.cs
  28. 76 0
      Assets/Scripts/WriteLog.cs
  29. 11 0
      Assets/Scripts/WriteLog.cs.meta
  30. 1 1
      Assets/StreamingAssets/AssetBundles.meta
  31. 1 1
      Assets/StreamingAssets/AssetBundles/Android.meta
  32. BIN
      Assets/StreamingAssets/AssetBundles/Android/Android
  33. 1 1
      Assets/StreamingAssets/AssetBundles/Android/Android.manifest
  34. 1 1
      Assets/StreamingAssets/AssetBundles/Android/Android.manifest.meta
  35. 1 1
      Assets/StreamingAssets/AssetBundles/Android/Android.meta
  36. 1 1
      Assets/StreamingAssets/AssetBundles/Android/asset_bundle_config.bin.meta
  37. BIN
      Assets/StreamingAssets/AssetBundles/Android/editorpanel_prefab
  38. 2 2
      Assets/StreamingAssets/AssetBundles/Android/editorpanel_prefab.manifest
  39. 1 1
      Assets/StreamingAssets/AssetBundles/Android/editorpanel_prefab.manifest.meta
  40. 1 1
      Assets/StreamingAssets/AssetBundles/Android/editorpanel_prefab.meta
  41. 1 1
      Assets/StreamingAssets/AssetBundles/Android/mrhall.manifest
  42. 1 1
      Assets/StreamingAssets/AssetBundles/Android/mrhall.manifest.meta
  43. 1 1
      Assets/StreamingAssets/AssetBundles/Android/mrhall.meta
  44. 1 1
      Assets/StreamingAssets/build_info
  45. 4 4
      ProjectSettings/ProjectSettings.asset

BIN
AssetBundles/Android/Android


+ 1 - 1
AssetBundles/Android/Android.manifest

@@ -1,5 +1,5 @@
 ManifestFileVersion: 0
-CRC: 2430522732
+CRC: 1262510724
 AssetBundleManifest:
   AssetBundleInfos:
     Info_0:

BIN
AssetBundles/Android/editorpanel_prefab


+ 2 - 2
AssetBundles/Android/editorpanel_prefab.manifest

@@ -1,9 +1,9 @@
 ManifestFileVersion: 0
-CRC: 818906213
+CRC: 2396169967
 Hashes:
   AssetFileHash:
     serializedVersion: 2
-    Hash: 8093d3a8400f9122a889cda21fcece9d
+    Hash: de15767c2fa12bccfc1d35af07b62135
   TypeTreeHash:
     serializedVersion: 2
     Hash: 00bf664b3c04440ea9ad3c9d04e69c3f

+ 1 - 1
AssetBundles/Android/mrhall.manifest

@@ -3,7 +3,7 @@ CRC: 3701939689
 Hashes:
   AssetFileHash:
     serializedVersion: 2
-    Hash: 43789f8c9877554a1e976f50781fbb64
+    Hash: ebfe92337059929c0acbf39ec785c65f
   TypeTreeHash:
     serializedVersion: 2
     Hash: 090b477a1ae94b11837c7bd6fe05abe6

+ 64 - 31
Assets/JsonDotNet/Assemblies/AOT/Newtonsoft.Json.dll.meta

@@ -1,61 +1,90 @@
 fileFormatVersion: 2
 guid: 6a3c684705042f345975d924f6983e36
-timeCreated: 1466788352
-licenseType: Store
 PluginImporter:
-  serializedVersion: 1
+  externalObjects: {}
+  serializedVersion: 2
   iconMap: {}
   executionOrder: {}
+  defineConstraints: []
   isPreloaded: 0
+  isOverridable: 0
+  isExplicitlyReferenced: 0
+  validateReferences: 1
   platformData:
-    Android:
-      enabled: 1
-      settings:
-        CPU: AnyCPU
-    Any:
-      enabled: 0
-      settings: {}
-    Editor:
-      enabled: 0
-      settings:
-        CPU: AnyCPU
-        DefaultValueInitialized: true
-        OS: AnyOS
-    Linux:
+  - first:
+      : Linux
+    second:
       enabled: 0
       settings:
         CPU: x86
-    Linux64:
-      enabled: 0
-      settings:
-        CPU: x86_64
-    OSXIntel:
+  - first:
+      : OSXIntel
+    second:
       enabled: 0
       settings:
         CPU: AnyCPU
-    OSXIntel64:
+  - first:
+      : OSXIntel64
+    second:
       enabled: 0
       settings:
         CPU: AnyCPU
-    SamsungTV:
+  - first:
+      : SamsungTV
+    second:
       enabled: 1
       settings:
         STV_MODEL: STANDARD_13
-    Tizen:
+  - first:
+      : Tizen
+    second:
       enabled: 1
       settings: {}
-    WebGL:
+  - first:
+      Android: Android
+    second:
       enabled: 1
+      settings:
+        CPU: AnyCPU
+  - first:
+      Any: 
+    second:
+      enabled: 0
       settings: {}
-    Win:
+  - first:
+      Editor: Editor
+    second:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
+        DefaultValueInitialized: true
+        OS: AnyOS
+  - first:
+      Standalone: Linux64
+    second:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
+  - first:
+      Standalone: Win
+    second:
       enabled: 0
       settings:
         CPU: AnyCPU
-    Win64:
+  - first:
+      Standalone: Win64
+    second:
       enabled: 0
       settings:
         CPU: AnyCPU
-    WindowsStoreApps:
+  - first:
+      WebGL: WebGL
+    second:
+      enabled: 1
+      settings: {}
+  - first:
+      Windows Store Apps: WindowsStoreApps
+    second:
       enabled: 1
       settings:
         CPU: AnyCPU
@@ -63,12 +92,16 @@ PluginImporter:
         PlaceholderPath: Assets/JsonDotNet/Assemblies/Standalone/Newtonsoft.Json.dll
         SDK: AnySDK
         ScriptingBackend: Il2Cpp
-    iOS:
+  - first:
+      iPhone: iOS
+    second:
       enabled: 1
       settings:
         CompileFlags: 
         FrameworkDependencies: 
-    tvOS:
+  - first:
+      tvOS: tvOS
+    second:
       enabled: 1
       settings: {}
   userData: 

+ 1 - 1
Assets/Resources/EditorPanel.prefab

@@ -5374,7 +5374,7 @@ MonoBehaviour:
   m_EditorClassIdentifier: 
   m_Material: {fileID: 0}
   m_Color: {r: 0.0627451, g: 0.0627451, b: 0.0627451, a: 0.39215687}
-  m_RaycastTarget: 1
+  m_RaycastTarget: 0
   m_Maskable: 1
   m_OnCullStateChanged:
     m_PersistentCalls:

BIN
Assets/Resources/Image/VideoB.png


+ 116 - 0
Assets/Resources/Image/VideoB.png.meta

@@ -0,0 +1,116 @@
+fileFormatVersion: 2
+guid: c499e12dbcd4a7246bceac1925c08e0c
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 11
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 0
+    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
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: -1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  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: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  applyGammaDecoding: 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: 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: 5e97eb03825dee720800000000000000
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 355 - 545
Assets/Resources/Template/Prefab/Video.prefab


+ 1 - 1
Assets/Resources/VuforiaConfiguration.asset

@@ -21,7 +21,7 @@ MonoBehaviour:
     maxSimultaneousObjectTargets: 1
     useDelayedLoadingObjectTargets: 0
     version: 8.1.12
-    eulaAcceptedVersions: '{"Values":["8.5","7.5","8.3","7.2","7.1","8.0","7.7","8.1","0.0","9.2","9.4","9.8","10.3"]}'
+    eulaAcceptedVersions: '{"Values":["8.5","7.5","8.3","7.2","7.1","8.0","7.7","8.1","0.0","9.2","9.4","9.8","10.3","10.2"]}'
   digitalEyewear:
     cameraOffset: 0.06
     distortionRenderingLayer: 31

+ 225 - 12
Assets/Scenes/QFrameWorkNewUI.unity

@@ -668,7 +668,7 @@ RectTransform:
   m_Children:
   - {fileID: 1436441430}
   m_Father: {fileID: 0}
-  m_RootOrder: 15
+  m_RootOrder: 14
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0, y: 0}
   m_AnchorMax: {x: 0, y: 0}
@@ -1019,7 +1019,7 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: 57588f0f976bb154280c5874ea0a4802, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  MaxDownLoad: 3
+  MaxDownLoad: 2
   NowDownLoad: 0
   AllDownLoad: 0
 --- !u!4 &362256831
@@ -1032,9 +1032,10 @@ 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_Children: []
+  m_Children:
+  - {fileID: 2024936661}
   m_Father: {fileID: 0}
-  m_RootOrder: 14
+  m_RootOrder: 13
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!1 &420733138
 GameObject:
@@ -1128,6 +1129,7 @@ GameObject:
   - component: {fileID: 432641765}
   - component: {fileID: 432641764}
   - component: {fileID: 432641769}
+  - component: {fileID: 432641770}
   m_Layer: 5
   m_Name: Canvas
   m_TagString: Untagged
@@ -1219,6 +1221,7 @@ RectTransform:
   m_LocalScale: {x: 0.001, y: 0.001, z: 1}
   m_Children:
   - {fileID: 1613259495}
+  - {fileID: 1698784425}
   m_Father: {fileID: 905216933}
   m_RootOrder: 10
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@@ -1241,6 +1244,20 @@ MonoBehaviour:
   m_EditorClassIdentifier: 
   errorPanel: {fileID: 1613259494}
   errorLog: {fileID: 1054952208}
+--- !u!114 &432641770
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 432641763}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: b1a7cb85f883b804b80908e7d7adb22f, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  hintPanel: {fileID: 1698784424}
+  hintLog: {fileID: 1834118782}
 --- !u!1 &437338764
 GameObject:
   m_ObjectHideFlags: 0
@@ -2153,6 +2170,49 @@ MonoBehaviour:
           m_StringArgument: 
           m_BoolArgument: 1
         m_CallState: 2
+--- !u!1 &727300132
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 727300133}
+  - component: {fileID: 727300134}
+  m_Layer: 0
+  m_Name: Log
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &727300133
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 727300132}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0.048876792, y: -0.24504238, z: -0.023916483}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 19
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &727300134
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 727300132}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5034d1a873441bd4da8fef0a259b9b24, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
 --- !u!1 &754422145
 GameObject:
   m_ObjectHideFlags: 0
@@ -2765,7 +2825,7 @@ Transform:
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_Children: []
   m_Father: {fileID: 0}
-  m_RootOrder: 17
+  m_RootOrder: 16
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!114 &1086250260
 MonoBehaviour:
@@ -3138,7 +3198,7 @@ Transform:
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_Children: []
   m_Father: {fileID: 0}
-  m_RootOrder: 19
+  m_RootOrder: 18
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!1 &1270514297
 GameObject:
@@ -3376,7 +3436,7 @@ Transform:
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_Children: []
   m_Father: {fileID: 0}
-  m_RootOrder: 18
+  m_RootOrder: 17
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!114 &1395943710
 MonoBehaviour:
@@ -3523,7 +3583,7 @@ Transform:
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_Children: []
   m_Father: {fileID: 0}
-  m_RootOrder: 16
+  m_RootOrder: 15
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!1 &1484638027
 GameObject:
@@ -4306,6 +4366,81 @@ Transform:
   m_Father: {fileID: 0}
   m_RootOrder: 6
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1698784424
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1698784425}
+  - component: {fileID: 1698784427}
+  - component: {fileID: 1698784426}
+  m_Layer: 5
+  m_Name: HintLogPanel
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!224 &1698784425
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1698784424}
+  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_Children:
+  - {fileID: 1834118781}
+  m_Father: {fileID: 432641768}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: -446.86267, y: -236.47528}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1698784426
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1698784424}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.26415092, g: 0.26415092, b: 0.26415092, a: 0.50980395}
+  m_RaycastTarget: 0
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Sprite: {fileID: 0}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+  m_UseSpriteMesh: 0
+  m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1698784427
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1698784424}
+  m_CullTransparentMesh: 0
 --- !u!1 &1793973424
 GameObject:
   m_ObjectHideFlags: 0
@@ -4404,6 +4539,84 @@ MeshFilter:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 1793973424}
   m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!1 &1834118780
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1834118781}
+  - component: {fileID: 1834118783}
+  - component: {fileID: 1834118782}
+  m_Layer: 5
+  m_Name: Text
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1834118781
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1834118780}
+  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_Children: []
+  m_Father: {fileID: 1698784425}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: -0.0021515, y: 6.8}
+  m_SizeDelta: {x: 762.133, y: 288.8976}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1834118782
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1834118780}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 0
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_FontData:
+    m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+    m_FontSize: 40
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 3
+    m_MaxSize: 41
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Error
+--- !u!222 &1834118783
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1834118780}
+  m_CullTransparentMesh: 0
 --- !u!1001 &1857145751
 PrefabInstance:
   m_ObjectHideFlags: 0
@@ -4943,7 +5156,7 @@ Transform:
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_Children: []
   m_Father: {fileID: 0}
-  m_RootOrder: 13
+  m_RootOrder: 12
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!1 &1990569494
 GameObject:
@@ -5228,12 +5441,12 @@ Transform:
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 2024936660}
-  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
   m_LocalPosition: {x: 0.29668966, y: -0.22105885, z: 1.5}
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_Children: []
-  m_Father: {fileID: 0}
-  m_RootOrder: 12
+  m_Father: {fileID: 362256831}
+  m_RootOrder: 0
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!114 &2024936662
 MonoBehaviour:

+ 369 - 0
Assets/Scenes/TestDownload.unity

@@ -0,0 +1,369 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_OcclusionBakeSettings:
+    smallestOccluder: 5
+    smallestHole: 0.25
+    backfaceThreshold: 100
+  m_SceneGUID: 00000000000000000000000000000000
+  m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 9
+  m_Fog: 0
+  m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+  m_FogMode: 3
+  m_FogDensity: 0.01
+  m_LinearFogStart: 0
+  m_LinearFogEnd: 300
+  m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
+  m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
+  m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
+  m_AmbientIntensity: 1
+  m_AmbientMode: 0
+  m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
+  m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
+  m_HaloStrength: 0.5
+  m_FlareStrength: 1
+  m_FlareFadeSpeed: 3
+  m_HaloTexture: {fileID: 0}
+  m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
+  m_DefaultReflectionMode: 0
+  m_DefaultReflectionResolution: 128
+  m_ReflectionBounces: 1
+  m_ReflectionIntensity: 1
+  m_CustomReflection: {fileID: 0}
+  m_Sun: {fileID: 0}
+  m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1}
+  m_UseRadianceAmbientProbe: 0
+--- !u!157 &3
+LightmapSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 11
+  m_GIWorkflowMode: 1
+  m_GISettings:
+    serializedVersion: 2
+    m_BounceScale: 1
+    m_IndirectOutputScale: 1
+    m_AlbedoBoost: 1
+    m_EnvironmentLightingMode: 0
+    m_EnableBakedLightmaps: 1
+    m_EnableRealtimeLightmaps: 0
+  m_LightmapEditorSettings:
+    serializedVersion: 12
+    m_Resolution: 2
+    m_BakeResolution: 40
+    m_AtlasSize: 1024
+    m_AO: 0
+    m_AOMaxDistance: 1
+    m_CompAOExponent: 1
+    m_CompAOExponentDirect: 0
+    m_ExtractAmbientOcclusion: 0
+    m_Padding: 2
+    m_LightmapParameters: {fileID: 0}
+    m_LightmapsBakeMode: 1
+    m_TextureCompression: 1
+    m_FinalGather: 0
+    m_FinalGatherFiltering: 1
+    m_FinalGatherRayCount: 256
+    m_ReflectionCompression: 2
+    m_MixedBakeMode: 2
+    m_BakeBackend: 1
+    m_PVRSampling: 1
+    m_PVRDirectSampleCount: 32
+    m_PVRSampleCount: 512
+    m_PVRBounces: 2
+    m_PVREnvironmentSampleCount: 256
+    m_PVREnvironmentReferencePointCount: 2048
+    m_PVRFilteringMode: 1
+    m_PVRDenoiserTypeDirect: 1
+    m_PVRDenoiserTypeIndirect: 1
+    m_PVRDenoiserTypeAO: 1
+    m_PVRFilterTypeDirect: 0
+    m_PVRFilterTypeIndirect: 0
+    m_PVRFilterTypeAO: 0
+    m_PVREnvironmentMIS: 1
+    m_PVRCulling: 1
+    m_PVRFilteringGaussRadiusDirect: 1
+    m_PVRFilteringGaussRadiusIndirect: 5
+    m_PVRFilteringGaussRadiusAO: 2
+    m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+    m_PVRFilteringAtrousPositionSigmaIndirect: 2
+    m_PVRFilteringAtrousPositionSigmaAO: 1
+    m_ExportTrainingData: 0
+    m_TrainingDataDestination: TrainingData
+    m_LightProbeSampleCountMultiplier: 4
+  m_LightingDataAsset: {fileID: 0}
+  m_UseShadowmask: 1
+--- !u!196 &4
+NavMeshSettings:
+  serializedVersion: 2
+  m_ObjectHideFlags: 0
+  m_BuildSettings:
+    serializedVersion: 2
+    agentTypeID: 0
+    agentRadius: 0.5
+    agentHeight: 2
+    agentSlope: 45
+    agentClimb: 0.4
+    ledgeDropHeight: 0
+    maxJumpAcrossDistance: 0
+    minRegionArea: 2
+    manualCellSize: 0
+    cellSize: 0.16666667
+    manualTileSize: 0
+    tileSize: 256
+    accuratePlacement: 0
+    debug:
+      m_Flags: 0
+  m_NavMeshData: {fileID: 0}
+--- !u!1 &850391058
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 850391061}
+  - component: {fileID: 850391060}
+  - component: {fileID: 850391059}
+  - component: {fileID: 850391062}
+  m_Layer: 0
+  m_Name: GameObject
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &850391059
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 850391058}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 0106af921f78d70408506d84e24dcb51, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  isOpen: 0
+  projectid: 0
+--- !u!114 &850391060
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 850391058}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: c66d33a7e2290034799edc543f5bb9b8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!4 &850391061
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 850391058}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: -0.08472073, y: -0.3633629, z: 1.0996442}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &850391062
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 850391058}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: bfcde3c0510c7e045b2dbe9912750027, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+--- !u!1 &1710306993
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1710306996}
+  - component: {fileID: 1710306995}
+  - component: {fileID: 1710306994}
+  m_Layer: 0
+  m_Name: Main Camera
+  m_TagString: MainCamera
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!81 &1710306994
+AudioListener:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1710306993}
+  m_Enabled: 1
+--- !u!20 &1710306995
+Camera:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1710306993}
+  m_Enabled: 1
+  serializedVersion: 2
+  m_ClearFlags: 1
+  m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
+  m_projectionMatrixMode: 1
+  m_GateFitMode: 2
+  m_FOVAxisMode: 0
+  m_SensorSize: {x: 36, y: 24}
+  m_LensShift: {x: 0, y: 0}
+  m_FocalLength: 50
+  m_NormalizedViewPortRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+  near clip plane: 0.3
+  far clip plane: 1000
+  field of view: 60
+  orthographic: 0
+  orthographic size: 5
+  m_Depth: -1
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+  m_RenderingPath: -1
+  m_TargetTexture: {fileID: 0}
+  m_TargetDisplay: 0
+  m_TargetEye: 3
+  m_HDR: 1
+  m_AllowMSAA: 1
+  m_AllowDynamicResolution: 0
+  m_ForceIntoRT: 0
+  m_OcclusionCulling: 1
+  m_StereoConvergence: 10
+  m_StereoSeparation: 0.022
+--- !u!4 &1710306996
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1710306993}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 1, z: -10}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &2036948077
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 2036948079}
+  - component: {fileID: 2036948078}
+  m_Layer: 0
+  m_Name: Directional Light
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!108 &2036948078
+Light:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2036948077}
+  m_Enabled: 1
+  serializedVersion: 10
+  m_Type: 1
+  m_Shape: 0
+  m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
+  m_Intensity: 1
+  m_Range: 10
+  m_SpotAngle: 30
+  m_InnerSpotAngle: 21.80208
+  m_CookieSize: 10
+  m_Shadows:
+    m_Type: 2
+    m_Resolution: -1
+    m_CustomResolution: -1
+    m_Strength: 1
+    m_Bias: 0.05
+    m_NormalBias: 0.4
+    m_NearPlane: 0.2
+    m_CullingMatrixOverride:
+      e00: 1
+      e01: 0
+      e02: 0
+      e03: 0
+      e10: 0
+      e11: 1
+      e12: 0
+      e13: 0
+      e20: 0
+      e21: 0
+      e22: 1
+      e23: 0
+      e30: 0
+      e31: 0
+      e32: 0
+      e33: 1
+    m_UseCullingMatrixOverride: 0
+  m_Cookie: {fileID: 0}
+  m_DrawHalo: 0
+  m_Flare: {fileID: 0}
+  m_RenderMode: 0
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+  m_RenderingLayerMask: 1
+  m_Lightmapping: 4
+  m_LightShadowCasterMode: 0
+  m_AreaSize: {x: 1, y: 1}
+  m_BounceIntensity: 1
+  m_ColorTemperature: 6570
+  m_UseColorTemperature: 0
+  m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
+  m_UseBoundingSphereOverride: 0
+  m_ShadowRadius: 0
+  m_ShadowAngle: 0
+--- !u!4 &2036948079
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2036948077}
+  m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
+  m_LocalPosition: {x: 0, y: 3, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}

+ 1 - 1
Assets/Scripts/UI.zip.meta → Assets/Scenes/TestDownload.unity.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: aeec842ceeaee8845b47002e15bc13ac
+guid: 8f373fa365f4b014dacd05e50687d56d
 DefaultImporter:
   externalObjects: {}
   userData: 

+ 20 - 10
Assets/Scripts/GameManager.cs

@@ -59,8 +59,9 @@ public class GameManager : MonoSingleton<GameManager>
         state = false;
 
         GameManager.Instance.text4.text = " Test  4";
+        //AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayerActivity");
+        //AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity");
 
-     
     }
 
     // Update is called once per frame
@@ -94,9 +95,6 @@ public class GameManager : MonoSingleton<GameManager>
 
     IEnumerator  OpenSandTable( int time , string url)
     {
-
-
-
         yield return new WaitForSeconds(time);
         OpenPlanel();
     }
@@ -480,12 +478,13 @@ public class GameManager : MonoSingleton<GameManager>
         // spoitValue.material.Add(CMV1);
 
         #endregion
-        //string str = JsonConvert.SerializeObject(listLocalCMVs);
+        string str = JsonConvert.SerializeObject(scene);
         //Debug.Log("%%%%%%%%%% " + str);
 
-        //str = JsonMapper.ToJson(scene);
-        //Debug.Log(str);
-        //text2.text = str;
+         
+       // string str = JsonMapper.ToJson(scene);
+        Debug.Log(str);
+        text2.text = str;
 
         //Save(scene);
 
@@ -591,6 +590,7 @@ public class GameManager : MonoSingleton<GameManager>
             Debug.Log("上传 " + sendData);
          //   text2.text = sendData;
             HttpTool.Instance.PostTest("/viewpoint/update", sendData, SaveCallBack);
+           
         }
         catch (Exception e)
         {
@@ -610,9 +610,18 @@ public class GameManager : MonoSingleton<GameManager>
         Debug.Log(message);
         JObject jObject = JObject.Parse(message);
         string str = jObject["message"].ToString();
-        GameManager.Instance.text2.text = "CallBack上传  "+ str;
-       
 
+        if(200==int.Parse( jObject["code"].ToString()))
+        {
+           // HintLogPanel.Instance.Show(" 保存成功 ");
+            HintLogPanel.Instance.Show(" 保存成功 ");
+        }
+        else
+        {
+            HintLogPanel.Instance.Show(" 保存失败 ");
+        }
+
+        GameManager.Instance.text2.text = "CallBack上传  "+ str;
     }
     /// <summary>
     ///  初始化本地数据
@@ -1359,6 +1368,7 @@ public class MaterialObjValue
     public string TextBJ { get; set; } // 文本框的背景 (如果类型不为文字 则为NULL)
     public string DownloadPath { get; set; } // 下载地址 (如果类型是文字 则为NULL)
     public string localSavePath { get; set; } // 保存在本地的地址默认为NULL
+    public string cdnUrl { get; set; } // CDN 下载资源
     public ObjectTransform ObjectTransform { get; set; } //坐标 旋转 尺寸 如果没有数据的话默认为NULL
 }
 

+ 310 - 25
Assets/Scripts/Http/HttpTool.cs

@@ -18,10 +18,13 @@ public class HttpTool : MonoBehaviour
     private static HttpTool _instacne = null;
     // private string baseUrl = "http://office.ghz-tech.com:9981";
     //  private string baseUrl = "https://webapi-fat.shadowcreator.com/100022";
-    //  private string baseUrl = "http://192.168.140.123:8080";
+    // private string baseUrl = "http://192.168.140.123:8080/guideSystem";
     //   private string baseUrl = "http://office.ghz-tech.com:3419/guideSystem";
 
     private string baseUrl = "http://office.ghz-tech.com:3425/guideSystem";
+   
+  //  private string baseUrl = "http://office.ghz-tech.com:9903/guideSystem";
+
     //  private string baseUrl = "http://ghz-tech.com:3419/guideSystem";
 
     // private string baseUrl = "http://192.168.43.142:8080";
@@ -73,6 +76,7 @@ public class HttpTool : MonoBehaviour
 
             if (webRequest.isHttpError || webRequest.isNetworkError)
             {
+                ErrorLogPanel.Instance.Show(" 请求后台数据出现错误 ");
                 Debug.LogError(webRequest.error + "\n" + webRequest.downloadHandler.text);
                 if (callback != null)
                 {
@@ -137,6 +141,7 @@ public class HttpTool : MonoBehaviour
 
             if (webRequest.isHttpError || webRequest.isNetworkError)
             {
+                ErrorLogPanel.Instance.Show(" 请求后台数据出现错误 ");
                 Debug.LogError(webRequest.error + "\n" + webRequest.downloadHandler.text);
                 if (callback != null)
                 {
@@ -274,10 +279,6 @@ public class HttpTool : MonoBehaviour
                         ErrorLogPanel.Instance.Show(" 图片生成出现错误 " + jsonString);
 
                     }
-
-
-
-
                     ////转为字节数组  
 
                     // File.WriteAllBytes(value.mObj.localSavePath, webRequest.downloadHandler.data);
@@ -308,8 +309,8 @@ public class HttpTool : MonoBehaviour
             byte[] bodyRaw = Encoding.UTF8.GetBytes(jsonString);
             webRequest.uploadHandler = (UploadHandler)new UploadHandlerRaw(bodyRaw);
 
-            webRequest.downloadHandler = (DownloadHandler)new DownloadHandlerAudioClip(value.mObj.localSavePath, AudioType.ACC);
-            //   webRequest.downloadHandler = (DownloadHandler)new DownloadHandlerFile(value.mObj.localSavePath);
+           // webRequest.downloadHandler = (DownloadHandler)new DownloadHandlerAudioClip(value.mObj.localSavePath, AudioType.ACC);
+            webRequest.downloadHandler = (DownloadHandler)new DownloadHandlerFile(value.mObj.localSavePath);
             webRequest.SetRequestHeader("authorization", token);
             foreach (var v in requestHeader)
             {
@@ -327,23 +328,23 @@ public class HttpTool : MonoBehaviour
             else
             {
                 callback(value, value.mObj.localSavePath);
-                //Debug.Log("文件下载成功 :" + value.mObj.localSavePath);
+              //  Debug.Log("文件下载成功 :" + value.mObj.DownloadPath +"    "+ webRequest.downloadHandler.data.Length);
                 //Debug.Log(webRequest.downloadHandler.data.Length);
 
 
                 try
                 {
-                    string path = Application.persistentDataPath + "/Video";
-                    if (!Directory.Exists(path))
-                    {
-                        Directory.CreateDirectory(path);
-                    }
-                    path = Application.persistentDataPath + "/StreamingAssets/Vuforia";
-                    if (!Directory.Exists(path))
-                    {
-                        Directory.CreateDirectory(path);
-                    }
-                    File.WriteAllBytes(value.mObj.localSavePath, webRequest.downloadHandler.data);
+                    //string path = Application.persistentDataPath + "/Video";
+                    //if (!Directory.Exists(path))
+                    //{
+                    //    Directory.CreateDirectory(path);
+                    //}
+                    //path = Application.persistentDataPath + "/StreamingAssets/Vuforia";
+                    //if (!Directory.Exists(path))
+                    //{
+                    //    Directory.CreateDirectory(path);
+                    //}
+                    //File.WriteAllBytes(value.mObj.localSavePath, webRequest.downloadHandler.data);
                 }
                 catch (Exception)
                 {
@@ -424,6 +425,8 @@ public class HttpTool : MonoBehaviour
             {
                 byte[] data = new byte[www.bytes.Length];
                 data = www.bytes;
+
+                Debug.Log(data.Length);
                 string path = Application.persistentDataPath + "/Model";
                 if (!Directory.Exists(path))
                 {
@@ -433,10 +436,291 @@ public class HttpTool : MonoBehaviour
                 File.WriteAllBytes(mObj.mObj.localSavePath, data);
 
             }
+            catch (Exception e)
+            {
+                Debug.Log(e.Message.ToString());
+                //ErrorLogPanel.Instance.Show(" 模型缓存出现错误 " + jsonString);
+            }
+
+            try
+            {
+                Debug.Log(www.bytes.Length);
+                var ab = www.assetBundle;
+
+                GameObject obj = ab.LoadAsset<GameObject>(ab.GetAllAssetNames()[0]);
+                List<GameObject> listObjs = new List<GameObject>();
+                listObjs.Add(obj);
+                object value = listObjs;
+                CallBack(mObj, value);
+            }
             catch (Exception)
             {
 
-                ErrorLogPanel.Instance.Show(" 模型缓存出现错误 " + jsonString);
+                ErrorLogPanel.Instance.Show(" 模型生成出现错误 " + jsonString);
+            }
+
+
+
+
+        }
+
+
+
+        //using (UnityWebRequest webRequestAB = new UnityWebRequest(url, "POST"))
+        //{
+        //    byte[] bodyRaw = Encoding.UTF8.GetBytes(jsonString);
+        //    webRequestAB.uploadHandler = (UploadHandler)new UploadHandlerRaw(bodyRaw);
+        //    webRequestAB.downloadHandler = (DownloadHandler)new DownloadHandlerFile(mObj.mObj.localSavePath);
+
+        //    yield return webRequestAB.SendWebRequest();
+        //    if (webRequestAB.isHttpError || webRequestAB.isNetworkError)
+        //    {
+        //        Debug.LogError(webRequestAB.error + "\n" + webRequestAB.downloadHandler.data.Length);
+        //    }
+        //    else
+        //    {
+        //        AssetBundle bundle = DownloadHandlerAssetBundle.GetContent(webRequestAB);
+
+        //        GameObject obj = bundle.LoadAsset<GameObject>(bundle.GetAllAssetNames()[0]);
+        //        List<GameObject> listObjs = new List<GameObject>();
+        //        listObjs.Add(obj);
+        //        object value = listObjs;
+
+        //        CallBack(mObj, value);
+        //    }
+
+        //}
+    }
+
+    
+    public void PostCDNImage(DownLoadMaterial value, string jsonString,Action<DownLoadMaterial,object> callback)
+    {
+        StartCoroutine(PostCDNRequestImage(value, jsonString, callback));
+    }
+    private IEnumerator PostCDNRequestImage(DownLoadMaterial value,  string jsonString, Action<DownLoadMaterial, object> callback)
+    {
+        string url = value.mObj.cdnUrl;
+
+        Debug.Log(string.Format("url:{0} postData:{1}", url, jsonString));
+        using (UnityWebRequest webRequest = new UnityWebRequest(url, "POST"))
+        {
+            byte[] bodyRaw = Encoding.UTF8.GetBytes(jsonString);
+            webRequest.uploadHandler = (UploadHandler)new UploadHandlerRaw(bodyRaw);
+            DownloadHandlerTexture texture = new DownloadHandlerTexture(true);
+            webRequest.downloadHandler = texture;
+            // Debug.Log(value.mObj.localSavePath);
+            // webRequest.downloadHandler = (DownloadHandler)new DownloadHandlerFile(value.mObj.localSavePath);
+            //  Debug.Log(value.mObj.localSavePath);
+            webRequest.SetRequestHeader("authorization", token);
+            foreach (var v in requestHeader)
+            {
+                webRequest.SetRequestHeader(v.Key, v.Value);
+            }
+            yield return webRequest.SendWebRequest();
+
+            if (webRequest.isHttpError || webRequest.isNetworkError)
+            {
+                Debug.LogError(webRequest.error + "\n" + webRequest.downloadHandler.text);
+                if (callback != null)
+                {
+                    callback(value, null);
+                }
+
+                ErrorLogPanel.Instance.Show(" 下载图片出现错误 " + jsonString);
+
+            }
+            else
+            {
+                if (callback != null)
+                {
+
+                    try
+                    {
+                        string path = Application.persistentDataPath + "/Image";
+
+                        if (!Directory.Exists(path))
+                        {
+                            Directory.CreateDirectory(path);
+                        }
+
+                        byte[] data = new byte[webRequest.downloadHandler.data.Length];
+                        data = webRequest.downloadHandler.data;
+                        File.WriteAllBytes(value.mObj.localSavePath, data);
+                    }
+                    catch (Exception e)
+                    {
+                        ErrorLogPanel.Instance.Show(" 图片缓存出现错误 " + jsonString);
+                    }
+
+                    try
+                    {
+                        Texture2D texture2 = texture.texture;
+                        Sprite createSprite = Sprite.Create(texture2, new Rect(0, 0, texture2.width, texture2.height), Vector2.zero);
+                        //   Debug.Log(webRequest.downloadHandler.data.Length + "    "+ texture2.width);
+                        callback(value, createSprite);
+
+                        Texture2D texture3 = texture.texture;
+                    }
+                    catch (Exception e)
+                    {
+                        ErrorLogPanel.Instance.Show(" 图片生成出现错误 " + jsonString);
+
+                    }
+                    ////转为字节数组  
+
+                    // File.WriteAllBytes(value.mObj.localSavePath, webRequest.downloadHandler.data);
+
+                }
+            }
+        }
+    }
+
+    public void PostCDNVideo(DownLoadMaterial value,  string jsonString, Action<DownLoadMaterial, object> callback)
+    {
+        StartCoroutine(PostCDNRequestVideo(value,  jsonString, callback));
+    }
+    private IEnumerator PostCDNRequestVideo(DownLoadMaterial value,  string jsonString, Action<DownLoadMaterial, object> callback)
+    {
+        string url = value.mObj.cdnUrl;
+
+        Debug.Log(string.Format("url:{0} postData:{1}", url, jsonString));
+        using (UnityWebRequest webRequest = new UnityWebRequest(url, "POST"))
+        {
+            byte[] bodyRaw = Encoding.UTF8.GetBytes(jsonString);
+            webRequest.uploadHandler = (UploadHandler)new UploadHandlerRaw(bodyRaw);
+
+            // webRequest.downloadHandler = (DownloadHandler)new DownloadHandlerAudioClip(value.mObj.localSavePath, AudioType.ACC);
+            webRequest.downloadHandler = (DownloadHandler)new DownloadHandlerFile(value.mObj.localSavePath);
+            webRequest.SetRequestHeader("authorization", token);
+            foreach (var v in requestHeader)
+            {
+                webRequest.SetRequestHeader(v.Key, v.Value);
+            }
+            yield return webRequest.SendWebRequest();
+
+            if (webRequest.isHttpError || webRequest.isNetworkError)
+            {
+                Debug.LogError(webRequest.error + "\n" + webRequest.downloadHandler.text);
+                callback(value, null);
+
+                ErrorLogPanel.Instance.Show(" 下载视频出现错误 " + jsonString);
+            }
+            else
+            {
+                callback(value, value.mObj.localSavePath);
+                //  Debug.Log("文件下载成功 :" + value.mObj.DownloadPath +"    "+ webRequest.downloadHandler.data.Length);
+                //Debug.Log(webRequest.downloadHandler.data.Length);
+
+
+                try
+                {
+                    //string path = Application.persistentDataPath + "/Video";
+                    //if (!Directory.Exists(path))
+                    //{
+                    //    Directory.CreateDirectory(path);
+                    //}
+                    //path = Application.persistentDataPath + "/StreamingAssets/Vuforia";
+                    //if (!Directory.Exists(path))
+                    //{
+                    //    Directory.CreateDirectory(path);
+                    //}
+                    //File.WriteAllBytes(value.mObj.localSavePath, webRequest.downloadHandler.data);
+                }
+                catch (Exception)
+                {
+
+                    ErrorLogPanel.Instance.Show(" 视频缓存出现错误 " + jsonString);
+                }
+
+            }
+        }
+    }
+
+
+    /// <summary>
+    /// Bundle 文件
+    /// </summary>
+    /// <param name="methodName"></param>
+    /// <param name="jsonString"></param>
+    /// <param name="savePath"></param>
+    public void PostCDNBundle(DownLoadMaterial mObj,  long time, string jsonString, Action<DownLoadMaterial, object> CallBack)
+    {
+        StartCoroutine(PostCDNRequestBundle(mObj, time, jsonString, CallBack));
+    }
+    private IEnumerator PostCDNRequestBundle(DownLoadMaterial mObj,  long time, string jsonString, Action<DownLoadMaterial, object> CallBack)
+    {
+        string url = mObj.mObj.cdnUrl;
+
+        //using (UnityWebRequest webRequestAB = UnityWebRequestAssetBundle.GetAssetBundle(url, (uint)time, 1))
+        //{
+        //    byte[] bodyRaw = Encoding.UTF8.GetBytes(jsonString);
+        //    webRequestAB.uploadHandler = (UploadHandler)new UploadHandlerRaw(bodyRaw);
+        //  //  webRequestAB.downloadHandler = (DownloadHandler)new DownloadHandlerFile(mObj.mObj.localSavePath);
+
+        //    yield return webRequestAB.SendWebRequest();
+        //    if (webRequestAB.isHttpError || webRequestAB.isNetworkError)
+        //    {
+        //        Debug.LogError(webRequestAB.error + "\n" + webRequestAB.downloadHandler.data.Length);
+        //    }
+        //    else
+        //    {
+        //        AssetBundle bundle = DownloadHandlerAssetBundle.GetContent(webRequestAB);
+
+        //        GameObject obj = bundle.LoadAsset<GameObject>(bundle.GetAllAssetNames()[0]);
+        //        List<GameObject> listObjs = new List<GameObject>();
+        //        listObjs.Add(obj);
+        //        object value = listObjs;
+
+        //        CallBack(mObj, value);
+        //    }
+
+        //}
+
+
+
+
+        Dictionary<string, string> headers = new Dictionary<string, string>();
+        headers["Content-Type"] = "application/json";
+        headers["authorization"] = token;
+        //  webRequest.SetRequestHeader("authorization", token);
+        //将文本转为byte数组  
+        byte[] bs = System.Text.UTF8Encoding.UTF8.GetBytes(jsonString);
+
+        Debug.Log(string.Format("url:{0} postData:{1}", url, jsonString));
+        //向HTTP服务器提交Post数据  
+        WWW www = new WWW(url, bs, headers);
+
+
+        //等待服务器的响应  
+        yield return www;
+        if (www.error != null)
+        {
+            //获取服务器的错误信息  
+            Debug.LogError(www.error);
+            ErrorLogPanel.Instance.Show(" 下载模型出现错误 " + jsonString);
+            yield return null;
+        }
+        else
+        {
+            try
+            {
+                byte[] data = new byte[www.bytes.Length];
+                data = www.bytes;
+
+                Debug.Log(data.Length);
+                string path = Application.persistentDataPath + "/Model";
+                if (!Directory.Exists(path))
+                {
+                    Directory.CreateDirectory(path);
+                }
+
+                File.WriteAllBytes(mObj.mObj.localSavePath, data);
+
+            }
+            catch (Exception e)
+            {
+                Debug.Log(e.Message.ToString());
+                //ErrorLogPanel.Instance.Show(" 模型缓存出现错误 " + jsonString);
             }
 
             try
@@ -488,7 +772,6 @@ public class HttpTool : MonoBehaviour
 
         //}
     }
-
     public void PostTest(string Loadpath, string jsonString, Action<string> CallBack)
     {
 
@@ -499,7 +782,7 @@ public class HttpTool : MonoBehaviour
     private IEnumerator PostRequest(string loadPath, string jsonString, Action<string> CallBack)
     {
         string url = baseUrl + loadPath;
-        Debug.Log(url);
+      //  Debug.Log(url);
 
         using (UnityWebRequest webRequest = new UnityWebRequest(url, "POST"))
         {
@@ -511,18 +794,18 @@ public class HttpTool : MonoBehaviour
             foreach (var v in requestHeader)
             {
                 webRequest.SetRequestHeader(v.Key, v.Value);
-                Debug.Log(v.Value + "   " + loadPath);
+            //    Debug.Log(v.Value + "   " + loadPath);
             }
             yield return webRequest.SendWebRequest();
 
             if (webRequest.isHttpError || webRequest.isNetworkError)
             {
-                Debug.LogError(webRequest.error + "\n" + webRequest.downloadHandler.text + "\n" + loadPath);
+                Debug.LogError(webRequest.error + "\n" + webRequest.downloadHandler.text + "\n" + loadPath+"   "+ jsonString);
                 GameManager.Instance.text2.text = jsonString + "  " + webRequest.error;
             }
             else
             {
-                Debug.Log(webRequest.downloadHandler.text);
+            //    Debug.Log(webRequest.downloadHandler.text);
                 CallBack(webRequest.downloadHandler.text);
 
             }
@@ -596,6 +879,8 @@ public class HttpTool : MonoBehaviour
                 string error = webRequest.downloadHandler.text;
                 JObject jObject = JObject.Parse(error);
                 CallBack(jObject["message"].ToString());
+
+                ErrorLogPanel.Instance.Show(" 请求后台数据出现错误 ");
             }
             else
             {

+ 27 - 0
Assets/Scripts/Http/TestDownload.cs

@@ -0,0 +1,27 @@
+using LitJson;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class TestDownload : MonoBehaviour
+{
+    // Start is called before the first frame update
+    void Start()
+    {
+        SendMaterials sendModel = new SendMaterials();
+        sendModel.url = "nav2_resources_test9903/viewpoint281/material/mrhall";
+        string jsonModel = JsonMapper.ToJson(sendModel);
+        HttpTool.Instance.PostBundle(null, "/cdn/download", 11, jsonModel, CallBack);
+    }
+
+
+    public void CallBack(DownLoadMaterial mObj, object value)
+    {
+      
+    }
+    // Update is called once per frame
+    void Update()
+    {
+        
+    }
+}

+ 11 - 0
Assets/Scripts/Http/TestDownload.cs.meta

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

+ 113 - 72
Assets/Scripts/Loader/DownLoadManage.cs

@@ -11,7 +11,7 @@ public class DownLoadManage : MonoSingleton<DownLoadManage>
     /// <summary>
     /// 最大下载数
     /// </summary>
-    public int MaxDownLoad = 3;
+    public int MaxDownLoad = 2;
     /// <summary>
     /// 当前下载数
     /// </summary>
@@ -23,6 +23,7 @@ public class DownLoadManage : MonoSingleton<DownLoadManage>
 
     private bool dlState = true;
 
+    private string methodName;
     /// <summary>
     /// 待下载列表
     /// </summary>
@@ -47,87 +48,127 @@ public class DownLoadManage : MonoSingleton<DownLoadManage>
 
     IEnumerator DownLoadControl()
     {
-        while (dlState)
+        
+        while (true)
         {
-            yield return NowDownLoad < MaxDownLoad;
-
-            if (listMaterialData.Count > 0)
+            Debug.Log(NowDownLoad + "  Load     " + MaxDownLoad);
+           if( NowDownLoad < MaxDownLoad)
             {
-                NowDownLoad++;
-                Debug.Log("@@@@@@@" + listMaterialData[0].mObj.name + "   " + listMaterialData[0].mObj.type + "  " + listMaterialData[0].mObj.DownloadPath + "  " + listMaterialData[0].mObj.localSavePath);
-                switch ((MaterialType)int.Parse(listMaterialData[0].mObj.type))
+                if (listMaterialData.Count > 0)
                 {
-
-                    case MaterialType.Text:
-                        //HttpTool.Instance.PostTxt(listMaterialData[0], listMaterialData[0].mObj.DownloadPath, "", 
-                        //  CallBack);
-                        Debug.Log(" TEST  ");
-                        break;
-                    case MaterialType.Image:
-
-                        SendMaterials sendImage = new SendMaterials();
-                        sendImage.url = listMaterialData[0].mObj.DownloadPath;
-                        string jsonImage = JsonMapper.ToJson(sendImage);
-
-                        Debug.Log("@@@@@@@" + jsonImage);
-                        HttpTool.Instance.PostImage(listMaterialData[0], "/file/download", jsonImage, CallBack);
-                        break;
-                    case MaterialType.Video:
-
-                        SendMaterials sendVideo = new SendMaterials();
-                        sendVideo.url = listMaterialData[0].mObj.DownloadPath;
-                        string jsonVideo = JsonMapper.ToJson(sendVideo);
-                        HttpTool.Instance.PostVideo(listMaterialData[0], "/file/download", jsonVideo, CallBack);
-                        break;
-                    case MaterialType.Model:
-
-                        if (Path.GetFileName(listMaterialData[0].mObj.DownloadPath).Contains("."))
-                        {
-                            ErrorLogPanel.Instance.Show(" 上传的模型文件格式不正确  " + Path.GetFileName(listMaterialData[0].mObj.DownloadPath));
-                        }
-
-                        SendMaterials sendModel = new SendMaterials();
-                        sendModel.url = listMaterialData[0].mObj.DownloadPath;
-                        string jsonModel = JsonMapper.ToJson(sendModel);
-                        HttpTool.Instance.PostBundle(listMaterialData[0], "/file/download", listMaterialData[0].updateTime, jsonModel, CallBack);
-                        break;
-                    default:
-                        break;
+                    methodName = "/file/download";
+
+                    //if (listMaterialData[0].mObj.cdnUrl.IsNotNullAndEmpty())
+                    //    methodName = "/cdn/download";
+
+                    NowDownLoad++;
+                    Debug.Log("@@@@@@@" + listMaterialData[0].mObj.name + "   " + listMaterialData[0].mObj.type + "  " + listMaterialData[0].mObj.DownloadPath + "  " + listMaterialData[0].mObj.localSavePath);
+                    switch ((MaterialType)int.Parse(listMaterialData[0].mObj.type))
+                    {
+
+                        case MaterialType.Text:
+                            //HttpTool.Instance.PostTxt(listMaterialData[0], listMaterialData[0].mObj.DownloadPath, "", 
+                            //  CallBack);
+                            Debug.Log("TEST");
+                            break;
+                        case MaterialType.Image:
+                            SendMaterials sendImage = new SendMaterials();
+                            sendImage.url = listMaterialData[0].mObj.DownloadPath;
+                            if (listMaterialData[0].mObj.cdnUrl.IsNotNullAndEmpty())
+                                sendImage.url = listMaterialData[0].mObj.cdnUrl;
+                            string jsonImage = JsonMapper.ToJson(sendImage);
+
+                           // Debug.Log("@@@@@@@" + jsonImage);
+
+                            if (listMaterialData[0].mObj.cdnUrl.IsNotNullAndEmpty())
+                                HttpTool.Instance.PostCDNImage(listMaterialData[0], jsonImage, CallBack);
+                            else
+                                HttpTool.Instance.PostImage(listMaterialData[0], methodName, jsonImage, CallBack);
+                            break;
+                        case MaterialType.Video:
+
+                            SendMaterials sendVideo = new SendMaterials();
+                            sendVideo.url = listMaterialData[0].mObj.DownloadPath;
+                            if (listMaterialData[0].mObj.cdnUrl.IsNotNullAndEmpty())
+                                sendVideo.url = listMaterialData[0].mObj.cdnUrl;
+                            string jsonVideo = JsonMapper.ToJson(sendVideo);
+
+                            if (listMaterialData[0].mObj.cdnUrl.IsNotNullAndEmpty())
+                                HttpTool.Instance.PostCDNVideo(listMaterialData[0], jsonVideo, CallBack);
+                            else
+                                HttpTool.Instance.PostVideo(listMaterialData[0], methodName, jsonVideo, CallBack);
+                            break;
+                        case MaterialType.Model:
+
+                            if (Path.GetFileName(listMaterialData[0].mObj.DownloadPath).Contains("."))
+                            {
+                                ErrorLogPanel.Instance.Show(" 上传的模型文件格式不正确  " + Path.GetFileName(listMaterialData[0].mObj.DownloadPath));
+                            }
+
+                            if(Path.GetFileName(listMaterialData[0].mObj.cdnUrl).Contains("."))
+                            {
+                                ErrorLogPanel.Instance.Show(" 上传的模型文件格式不正确  " + Path.GetFileName(listMaterialData[0].mObj.DownloadPath));
+                            }
+
+                            SendMaterials sendModel = new SendMaterials();
+                            sendModel.url = listMaterialData[0].mObj.DownloadPath;
+                            if (listMaterialData[0].mObj.cdnUrl.IsNotNullAndEmpty())
+                                sendModel.url = listMaterialData[0].mObj.cdnUrl;
+                            string jsonModel = JsonMapper.ToJson(sendModel);
+
+                            if (listMaterialData[0].mObj.cdnUrl.IsNotNullAndEmpty())
+                                HttpTool.Instance.PostCDNBundle(listMaterialData[0], listMaterialData[0].updateTime, jsonModel, CallBack);
+                            else
+                                HttpTool.Instance.PostBundle(listMaterialData[0], methodName, listMaterialData[0].updateTime, jsonModel, CallBack);
+                            break;
+                        default:
+                            break;
+                    }
+
+                    // 下载
+                    listDownLoading.Add(listMaterialData[0]);
+                    listMaterialData.Remove(listMaterialData[0]);
+                    AllDownLoad--;
                 }
-                // 下载
-                listDownLoading.Add(listMaterialData[0]);
-                listMaterialData.Remove(listMaterialData[0]);
-                AllDownLoad--;
-            }
 
-            if (listLocalMaterialData.Count > 0)
-            {
-                NowDownLoad++;
-
-                switch ((MaterialType)int.Parse(listLocalMaterialData[0].mObj.type))
+                if (listLocalMaterialData.Count > 0)
                 {
-                    case MaterialType.NULL:
-                        break;
-                    case MaterialType.Image:
-
-                        HttpTool.Instance.GetLocalSprite(listLocalMaterialData[0], CallBack);
-                        break;
-                    case MaterialType.Model:
-                        SendMaterials sendModel = new SendMaterials();
-                        sendModel.url = listMaterialData[0].mObj.DownloadPath;
-                        string jsonModel = JsonMapper.ToJson(sendModel);
-                        HttpTool.Instance.PostBundle(listLocalMaterialData[0], "/file/download", listLocalMaterialData[0].updateTime, jsonModel, CallBack);
-                        break;
-                    default:
-                        break;
+                    methodName = "/file/download";
+
+                    if (listMaterialData[0].mObj.cdnUrl.IsNotNullAndEmpty())
+                        methodName = "/cdn/download";
+
+                    NowDownLoad++;
+
+                    switch ((MaterialType)int.Parse(listLocalMaterialData[0].mObj.type))
+                    {
+                        case MaterialType.NULL:
+                            break;
+                        case MaterialType.Image:
+
+                            HttpTool.Instance.GetLocalSprite(listLocalMaterialData[0], CallBack);
+                            break;
+                        case MaterialType.Model:
+                            SendMaterials sendModel = new SendMaterials();
+                            sendModel.url = listMaterialData[0].mObj.DownloadPath;
+                            if (listMaterialData[0].mObj.cdnUrl.IsNotNullAndEmpty())
+                                sendModel.url = listMaterialData[0].mObj.cdnUrl;
+                            string jsonModel = JsonMapper.ToJson(sendModel);
+                            HttpTool.Instance.PostBundle(listLocalMaterialData[0], methodName, listLocalMaterialData[0].updateTime, jsonModel, CallBack);
+                            break;
+                        default:
+                            break;
+                    }
+                    GameManager.Instance.text.text = AllDownLoad.ToString();
+                    listDownLoading.Add(listLocalMaterialData[0]);
+                    listLocalMaterialData.Remove(listLocalMaterialData[0]);
+                    AllDownLoad--;
                 }
-                GameManager.Instance.text.text = AllDownLoad.ToString();
-                listDownLoading.Add(listLocalMaterialData[0]);
-                listLocalMaterialData.Remove(listLocalMaterialData[0]);
-                AllDownLoad--;
             }
 
 
+
+            yield return new WaitForSeconds(0.5f);
         }
     }
 

+ 9 - 7
Assets/Scripts/Loader/LoadManager.cs

@@ -25,13 +25,14 @@ public class LoadManager : MonoSingleton<LoadManager>
     public bool isSave = false;
     private void Start()
     {
-      //  PlayerPrefs.DeleteAll();
+       // PlayerPrefs.DeleteAll();
+        //  PlayerPrefs.DeleteAll();
         isLoading = true;
         listMaterialData = new List<MaterialData>();
         listDownLoad = new List<DownLoadMaterial>();
-        if (PlayerPrefs.HasKey("LoadData105"))
+        if (PlayerPrefs.HasKey("LoadData111"))
         {
-            string str = PlayerPrefs.GetString("LoadData105");
+            string str = PlayerPrefs.GetString("LoadData111");
             listDownLoad = JsonConvert.DeserializeObject<List<DownLoadMaterial>>(str);
             if (listDownLoad == null)
                 listDownLoad = new List<DownLoadMaterial>();
@@ -66,6 +67,7 @@ public class LoadManager : MonoSingleton<LoadManager>
     {
         bool state;
         //int num;
+       
         Debug.Log("Init AllDownLoad   " + listObjValue.Count);
         try
         {
@@ -76,10 +78,10 @@ public class LoadManager : MonoSingleton<LoadManager>
                 if (listDownLoad != null)
                     for (int j = 0; j < listDownLoad.Count; j++)
                     {
-
+                       // Debug.Log(listObjValue[i].mObj.DownloadPath + "   NAME  " + listDownLoad[j].mObj.DownloadPath);
                         if (listDownLoad[j].mObj.DownloadPath == listObjValue[i].mObj.DownloadPath && listDownLoad[j].updateTime == listObjValue[i].updateTime)
                         {
-
+                            Debug.Log(listObjValue[i].mObj.name+" False ");
                             state = false;
                             break;
                         }
@@ -89,7 +91,7 @@ public class LoadManager : MonoSingleton<LoadManager>
                 {
                     if (listObjValue[i].mObj.DownloadPath.IsNotNullAndEmpty() && listObjValue[i].mObj.type != "4")
                     {
-                        Debug.Log(listObjValue[i].mObj.DownloadPath + "   NAME  " + listObjValue[i].mObj.name);
+                       
                         DownLoadManage.Instance.AddDownLoadData(listObjValue[i]);
                         isLoading = true;
                     }
@@ -250,7 +252,7 @@ public class LoadManager : MonoSingleton<LoadManager>
     private void SaveData()
     {
         string str = JsonConvert.SerializeObject(listDownLoad);
-        PlayerPrefs.SetString("LoadData105", str);
+        PlayerPrefs.SetString("LoadData111", str);
     }
 }
 

BIN
Assets/Scripts/UI.zip


+ 157 - 123
Assets/Scripts/UI/EditorPanel.cs

@@ -133,7 +133,8 @@ namespace QFramework.MREditor
                 case UIEditorEvent.OnSaveDataSetting:
                     var OnSaveDataSetting = msg as OnSaveDataSetting;
                     Debug.Log(OnSaveDataSetting.name);
-                    SaveData(OnSaveDataSetting.name, OnSaveDataSetting.pos, OnSaveDataSetting.rot, OnSaveDataSetting.scale);
+                  //  SaveData(OnSaveDataSetting.name, OnSaveDataSetting.pos, OnSaveDataSetting.rot, OnSaveDataSetting.scale);
+                    SaveData(OnSaveDataSetting.name);
                     break;
 
                 case UIEditorEvent.OnRemoveDataSetting:
@@ -186,7 +187,7 @@ namespace QFramework.MREditor
                 List<SpoitValue> listSpoit = new List<SpoitValue>();
                 mData.SceneValue.listSpoit.ForEach(item =>
                 {
-                    Debug.Log(item.name);
+                   // Debug.Log(item.name);
                     listSpoit.Add(item);
                     // LoadSpoitObj(item.name, item);
                 });
@@ -511,62 +512,7 @@ namespace QFramework.MREditor
             LoadCMaterialObj(value, selectSpoit);
            
         }
-        //public void AddMaterialObj(MaterialObjValue value)
-        //{
-        //    if (selectSpoit.IsNull())
-        //        return;
-
-        //    LoadMaterialObj(value, selectSpoit);
-        //    UIMaterials.AddMaterial(selectSpoit.name, value, MaterialBtn);
-        //    AddData(value);
-
-        //}
-
-
-        //public void SaveData(string name, Vector3 pos, Vector3 rot, Vector3 scale)
-        //{
-        //    if (selectObj == null)
-        //        return;
-
-        //    Debug.Log(selectObj.name + "    " + name);
-        //    for (int i = 0; i < mData.SceneValue.listSpoit.Count; i++)
-        //    {
-        //        if (mData.SceneValue.listSpoit[i].name == selectSpoit.name)
-        //        {
-        //            if (selectSpoit.name == selectObj.name)
-        //            {
-        //                mData.SceneValue.listSpoit[i].spoitTransform.nowPos = pos;
-        //                mData.SceneValue.listSpoit[i].spoitTransform.nowRot = rot;
-
-        //                if (scale == Vector3.zero)
-        //                    scale = mData.SceneValue.listSpoit[i].spoitTransform.startScale;
-        //                mData.SceneValue.listSpoit[i].spoitTransform.nowScale = scale;
-        //              //  mData.SceneValue.listSpoit[i].updateTime = DateTime.Now;
-        //                break;
-        //            }
-        //            else
-        //            {
-        //                for (int j = 0; j < mData.SceneValue.listSpoit[i].listMaterial.Count; j++)
-        //                {
-        //                    if (mData.SceneValue.listSpoit[i].listMaterial[j].name == selectObj.name)
-        //                    {
-        //                        mData.SceneValue.listSpoit[i].listMaterial[j].objectTransform.nowPos = pos;
-        //                        mData.SceneValue.listSpoit[i].listMaterial[j].objectTransform.nowRot = rot;
-
-        //                        if (scale == Vector3.zero)
-        //                            scale = mData.SceneValue.listSpoit[i].listMaterial[j].objectTransform.startScale;
-        //                        mData.SceneValue.listSpoit[i].listMaterial[j].objectTransform.nowScale = scale;
-        //                      //  mData.SceneValue.listSpoit[i].listMaterial[j].DataTime = DateTime.Now.ToString();
-        //                        break;
-        //                    }
-
-        //                }
-        //            }
-        //        }
-        //    }
-
-        //    GameManager.Instance.Save(mData.SceneValue);
-        //}
+      
 
         /// <summary>
         ///  保存数据
@@ -582,53 +528,89 @@ namespace QFramework.MREditor
             //    selectCMVObj = new GameObject("样式测试").transform;
             GameManager.Instance.text2.text = selectObj.name + "    " + name + "  " + selectCMVObj.name + "  " + selectSpoit.name;
             GameManager.Instance.text4.text = "准备保存";
-            Debug.Log(selectObj.name + "    " + name +"  "+selectCMVObj.name +"  "+selectSpoit.name);
+            Debug.Log(name + "    " + selectObj.name + "  "+selectCMVObj.name +"  "+selectSpoit.name);
+
+           
+
+            SpoitValue spoitValue = null;
 
-            #region old
             //for (int i = 0; i < mData.SceneValue.listSpoit.Count; i++)
             //{
             //    if (mData.SceneValue.listSpoit[i].name == selectSpoit.name)
             //    {
-            //        if (selectSpoit.name == selectObj.name)
+            //        if (selectSpoit.name == selectObj.name) // 保存的是景点属性
             //        {
-            //            mData.SceneValue.listSpoit[i].spoitTransform.nowPos = pos;
-            //            mData.SceneValue.listSpoit[i].spoitTransform.nowRot = rot;
+            //            Debug.Log(" 景点已保存 ");
+            //            mData.SceneValue.listSpoit[i].spoitTf.nowPos = pos;
+            //            mData.SceneValue.listSpoit[i].spoitTf.nowRot = rot;
 
             //            if (scale == Vector3.zero)
-            //                scale = mData.SceneValue.listSpoit[i].spoitTransform.startScale;
-            //            mData.SceneValue.listSpoit[i].spoitTransform.nowScale = scale;
+            //                scale = mData.SceneValue.listSpoit[i].spoitTf.startScale;
+            //            mData.SceneValue.listSpoit[i].spoitTf.nowScale = scale;
             //            //  mData.SceneValue.listSpoit[i].updateTime = DateTime.Now;
             //            break;
+
+                       
             //        }
-            //        else
+            //        spoitValue = mData.SceneValue.listSpoit[i];
+            //        break;
+            //    }
+            //}
+
+            //if (spoitValue != null)
+            //{
+            //    for (int i = 0; i < spoitValue.material.Count; i++)
+            //    {
+            //        if (spoitValue.material[i].name == selectCMVObj.name)
             //        {
-            //            for (int j = 0; j < mData.SceneValue.listSpoit[i].listMaterial.Count; j++)
+            //            if (spoitValue.material[i].name == selectObj.name)
             //            {
-            //                if (mData.SceneValue.listSpoit[i].listMaterial[j].name == selectObj.name)
+            //                Debug.Log(" 组合素材属性已保存 ");
+            //                spoitValue.material[i].objectTransform.nowPos = pos;
+            //                spoitValue.material[i].objectTransform.nowRot = rot;
+
+            //                if (scale == Vector3.zero)
+            //                    scale = spoitValue.material[i].objectTransform.startScale;
+            //                spoitValue.material[i].objectTransform.nowScale = scale;
+            //                break;
+            //            }
+
+            //            for (int j = 0; j < spoitValue.material[i].materialList.Count; j++)
+            //            {
+            //                if (spoitValue.material[i].materialList[j].name == selectObj.name)
             //                {
-            //                    mData.SceneValue.listSpoit[i].listMaterial[j].objectTransform.nowPos = pos;
-            //                    mData.SceneValue.listSpoit[i].listMaterial[j].objectTransform.nowRot = rot;
+            //                    Debug.Log(" 素材已保存 ");
+            //                    spoitValue.material[i].materialList[j].ObjectTransform.nowPos = pos;
+            //                    spoitValue.material[i].materialList[j].ObjectTransform.nowRot = rot;
 
             //                    if (scale == Vector3.zero)
-            //                        scale = mData.SceneValue.listSpoit[i].listMaterial[j].objectTransform.startScale;
-            //                    mData.SceneValue.listSpoit[i].listMaterial[j].objectTransform.nowScale = scale;
-            //                    //  mData.SceneValue.listSpoit[i].listMaterial[j].DataTime = DateTime.Now.ToString();
+            //                        scale = spoitValue.material[i].materialList[j].ObjectTransform.startScale;
+            //                    spoitValue.material[i].materialList[j].ObjectTransform.nowScale = scale;
             //                    break;
             //                }
-
             //            }
+            //            break;
             //        }
-            //    } 
-            #endregion
+            //    }
+
+            //    for (int i = 0; i < mData.SceneValue.listSpoit.Count; i++)
+            //    {
+            //        if (mData.SceneValue.listSpoit[i].name == spoitValue.name)
+            //        {
+            //            mData.SceneValue.listSpoit[i] = spoitValue;
+            //            break;
+            //        }
+            //    }
+            //}
+
 
-            SpoitValue spoitValue = null;
 
             for (int i = 0; i < mData.SceneValue.listSpoit.Count; i++)
             {
                 if (mData.SceneValue.listSpoit[i].name == selectSpoit.name)
                 {
-                    if (selectSpoit.name == selectObj.name) // 保存的是景点属性
-                    {
+                    
+                        Debug.Log(" 景点已保存 ");
                         mData.SceneValue.listSpoit[i].spoitTf.nowPos = pos;
                         mData.SceneValue.listSpoit[i].spoitTf.nowRot = rot;
 
@@ -636,8 +618,10 @@ namespace QFramework.MREditor
                             scale = mData.SceneValue.listSpoit[i].spoitTf.startScale;
                         mData.SceneValue.listSpoit[i].spoitTf.nowScale = scale;
                         //  mData.SceneValue.listSpoit[i].updateTime = DateTime.Now;
-                        break;
-                    }
+                        
+
+
+                    
                     spoitValue = mData.SceneValue.listSpoit[i];
                     break;
                 }
@@ -645,12 +629,13 @@ namespace QFramework.MREditor
 
             if (spoitValue != null)
             {
+             
                 for (int i = 0; i < spoitValue.material.Count; i++)
                 {
                     if (spoitValue.material[i].name == selectCMVObj.name)
                     {
-                        if (spoitValue.material[i].name == selectObj.name)
-                        {
+                       
+                            Debug.Log(" 组合素材属性已保存 ");
                             spoitValue.material[i].objectTransform.nowPos = pos;
                             spoitValue.material[i].objectTransform.nowRot = rot;
 
@@ -658,12 +643,12 @@ namespace QFramework.MREditor
                                 scale = spoitValue.material[i].objectTransform.startScale;
                             spoitValue.material[i].objectTransform.nowScale = scale;
                             break;
-                        }
+                        
 
                         for (int j = 0; j < spoitValue.material[i].materialList.Count; j++)
                         {
-                            if (spoitValue.material[i].materialList[j].name == selectObj.name)
-                            {
+                           
+                                Debug.Log(" 素材已保存 ");
                                 spoitValue.material[i].materialList[j].ObjectTransform.nowPos = pos;
                                 spoitValue.material[i].materialList[j].ObjectTransform.nowRot = rot;
 
@@ -671,7 +656,7 @@ namespace QFramework.MREditor
                                     scale = spoitValue.material[i].materialList[j].ObjectTransform.startScale;
                                 spoitValue.material[i].materialList[j].ObjectTransform.nowScale = scale;
                                 break;
-                            }
+                            
                         }
                         break;
                     }
@@ -687,49 +672,98 @@ namespace QFramework.MREditor
                 }
             }
 
-            GameManager.Instance.Save(mData.SceneValue);
+        }
+
+        public void SaveData(string name)
+        {
+            List<GameObject> list_Material;
+
+            list_Material = dicObjs[selectSpoit.name];
 
+            Debug.Log(" SelectSpoit Name :  " + selectSpoit.name);
+            // list_Material.ForEach(item =>
+            //{
+            //    SaveData(item.name, item.transform.localPosition, item.transform.localEulerAngles, item.transform.localScale);
+
+
+            //});
+            SaveData(list_Material);
+            GameManager.Instance.Save(mData.SceneValue);
         }
 
-        //public void RemoveData()
-        //{
+        private void SaveData(List<GameObject> list_Material)
+        {
+            SpoitValue spoitValue = null;
 
-        //    if (selectObj == null)
-        //        return;
-        //    if (selectSpoit.name == selectObj.name)
-        //        return;
+            for (int i = 0; i < mData.SceneValue.listSpoit.Count; i++)
+            {
+                if (mData.SceneValue.listSpoit[i].name == selectSpoit.name)
+                {
 
+                    Debug.Log(" 景点已保存 ");
+                    mData.SceneValue.listSpoit[i].spoitTf.nowPos = list_Material[0].transform.localPosition;
+                    mData.SceneValue.listSpoit[i].spoitTf.nowRot = list_Material[0].transform.localEulerAngles;
 
-        //    for (int i = 0; i < mData.SceneValue.listSpoit.Count; i++)
-        //    {
-        //        if (mData.SceneValue.listSpoit[i].name == selectSpoit.name)
-        //        {
-        //            if (selectSpoit.name == selectObj.name)
-        //            {
-        //                mData.SceneValue.listSpoit.Remove(mData.SceneValue.listSpoit[i]);
-
-        //                break;
-        //            }
-        //            else
-        //            {
-        //                for (int j = 0; j < mData.SceneValue.listSpoit[i].listMaterial.Count; j++)
-        //                {
-        //                    if (mData.SceneValue.listSpoit[i].listMaterial[j].name == selectObj.name)
-        //                    {
-        //                        mData.SceneValue.listSpoit[i].listMaterial.Remove(mData.SceneValue.listSpoit[i].listMaterial[j]);
-        //                        break;
-        //                    }
-
-        //                }
-        //            }
-        //        }
-        //    }
+                    if (list_Material[0].transform.localScale == Vector3.zero)
+                        list_Material[0].transform.localScale = mData.SceneValue.listSpoit[i].spoitTf.startScale;
+                    mData.SceneValue.listSpoit[i].spoitTf.nowScale = list_Material[0].transform.localScale;
+                    //  mData.SceneValue.listSpoit[i].updateTime = DateTime.Now;
 
-        //    selectObj.gameObject.SetActive(false);
-        //    selectObj = null;
-        //    UIMaterials.RemoveMaterials();
-        //    GameManager.Instance.Save(mData.SceneValue);
-        //}
+                    spoitValue = mData.SceneValue.listSpoit[i];
+                    break;
+                }
+            }
+            Transform material;
+
+            Debug.Log(" ****** "+spoitValue.name);
+
+            if(spoitValue != null)
+            {
+                for (int i = 0; i < spoitValue.material.Count; i++)
+                {
+                    material = FindMaterial(list_Material, spoitValue.material[i].name);
+                    if(material!=null)
+                    {
+                        Debug.Log(" 组合素材已保存 ");
+                        spoitValue.material[i].objectTransform.nowPos = material.localPosition;
+                        spoitValue.material[i].objectTransform.nowRot = material.localEulerAngles;
+                        spoitValue.material[i].objectTransform.nowScale = material.localScale;
+                        
+                    }
+
+                    for (int j = 0; j < spoitValue.material[i].materialList.Count; j++)
+                    {
+                        material = FindMaterial(list_Material, spoitValue.material[i].materialList[j].name);
+                        if (material != null)
+                        {
+                            Debug.Log(" 素材已保存 ");
+                            spoitValue.material[i].materialList[j].ObjectTransform.nowPos = material.localPosition;
+                            spoitValue.material[i].materialList[j].ObjectTransform.nowRot = material.localEulerAngles;
+                            spoitValue.material[i].materialList[j].ObjectTransform.nowScale = material.localScale;
+
+                        }
+
+                    }
+
+
+                }
+            }
+        }
+
+
+        private Transform FindMaterial(List<GameObject> list_Material,  string name )
+        {
+            for (int i = 1; i < list_Material.Count; i++)
+            {
+                Debug.Log(list_Material[i].name + "           " + name);
+                if (list_Material[i].name == name)
+                    return list_Material[i].transform;
+            }
+
+            return null;
+            
+
+        }
 
         /// <summary>
         ///  移除选中数据

+ 30 - 0
Assets/Scripts/ViewUI/HintLogPanel.cs

@@ -0,0 +1,30 @@
+using QFramework;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+
+public class HintLogPanel : MonoSingleton<HintLogPanel>
+{
+    public GameObject hintPanel;
+    public Text hintLog;
+
+    public void Show(string hint)
+    {
+        hintLog.text = hint;
+        hintPanel.SetActive(true);
+        StartCoroutine(TimeClose(1));
+    }
+
+    public void Close()
+    {
+        hintLog.text = "";
+        hintPanel.SetActive(false);
+    }
+
+    IEnumerator TimeClose( float times)
+    {
+        yield return new WaitForSeconds(times);
+        Close();
+    }
+}

+ 11 - 0
Assets/Scripts/ViewUI/HintLogPanel.cs.meta

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

+ 18 - 2
Assets/Scripts/ViewUI/LoginPanel.cs

@@ -65,8 +65,12 @@ public class LoginPanel : SingletonMono<LoginPanel>
 
     private void Start()
     {
+        WriteLog.ConsoleLog.LogStart();
         sn.text = DeviceSN.Instance.SendSerialBy16();
         version.text = "V"+Application.version;
+      //  PlayerPrefs.DeleteAll();
+       // OnClickLogin();
+       
         //SendInit send = new SendInit();
         //send.sn = "ABD123456";
         //send.projectId = 10;
@@ -190,6 +194,8 @@ public class LoginPanel : SingletonMono<LoginPanel>
         {
             m_PwdError.gameObject.SetActive(true);
             m_PwdErrorStr.text = "请输入密码";
+
+            
         }
         else
         {
@@ -293,7 +299,13 @@ public class LoginPanel : SingletonMono<LoginPanel>
     private void OnClickLogin()
     {
 
-        loaginError.SetActive(false);    
+        loaginError.SetActive(false);
+
+        //m_AccountStr = "yifei.yang@ivglass.com";
+        //m_PasswordStr = "123456Aa";
+
+        //m_AccountStr = "test_basic@ghz-tech.com";
+        //m_PasswordStr = "123456789";
 
         if (string.IsNullOrWhiteSpace(m_AccountStr))
         {
@@ -420,6 +432,7 @@ public class LoginPanel : SingletonMono<LoginPanel>
         try
         {
             GameManager.Instance.text.text = " 获取素材列表";
+            GameManager.Instance.text4.text = message;
             Debug.Log(message);
             JObject jObject = JObject.Parse(message);
             string data = jObject["data"].ToString();
@@ -453,7 +466,10 @@ public class LoginPanel : SingletonMono<LoginPanel>
             {
                 upLoadMaterials.Add(combinationMaterials[i]);
             }
-
+            for (int i = 0; i < singleMaterials.Count; i++)
+            {
+                upLoadMaterials.Add(singleMaterials[i]);
+            }
             Debug.Log(upLoadMaterials.Count);
             //for (int i = 0; i < upLoadMaterials.Count; i++)
             //{

+ 1 - 1
Assets/Scripts/ViewUI/SelectScene.cs

@@ -83,7 +83,7 @@ public class SelectScene : MonoSingleton<SelectScene>
        
 
         SceneValue scene = JsonMapper.ToObject<SceneValue>(message);
-        Debug.Log(message);
+      //  Debug.Log(message);
 
         if (scene.listSpoit.IsNull() || scene.listSpoit.Count == 0)
         {

+ 6 - 1
Assets/Scripts/Voice/TestGetVoice.cs

@@ -61,6 +61,11 @@ public class TestGetVoice : MonoBehaviour
         //    bool success = _ajc.Call<bool>("StartRecognize");
         //}
 
+
+        /*
+         *  在定义数据类的时候,可以同时定义
+         * 
+         */
         if(Initialize)
         {
             Initialize = false;
@@ -108,7 +113,7 @@ public class TestGetVoice : MonoBehaviour
                         {
                             text.text = "Recongnize  调用失败";
                             GameManager.Instance.text4.text = "Recongnize  调用失败";
-                            Debug.LogError(" Recongnize  调用失败");                           
+                            Debug.LogError(" Recongnize  调用失败");
                             ErrorLogPanel.Instance.Show(" 语音识别系统调用失败 ");
                             
                         }

+ 76 - 0
Assets/Scripts/WriteLog.cs

@@ -0,0 +1,76 @@
+#region 模块信息
+// **********************************************************************
+// Copyright (C) 2019 jiamiantech
+// Please contact me if you have any questions
+// File Name:             WriteLog
+// Author:                幻世界
+// WeChat||QQ:            at853394528 || 853394528 
+// **********************************************************************
+#endregion
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.IO;
+using System.Text;
+using UnityEngine;
+using Debug = UnityEngine.Debug;
+
+public class WriteLog : MonoBehaviour
+{
+    private static FileStream FileWriter;
+    private static UTF8Encoding encoding;
+    private static WriteLog consoleLog;
+
+    public static WriteLog ConsoleLog //开启单例
+    {
+        get
+        {
+            if (consoleLog == null)
+                consoleLog = new WriteLog();
+            return consoleLog;
+        }
+    }
+
+    public void LogStart()
+    {
+        //Debug.LogError("开始写入日志");
+        Directory.CreateDirectory(Application.persistentDataPath + "/Log");
+        string NowTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss").Replace(" ", "_").Replace("/", "_").Replace(":", "_");
+        FileInfo fileInfo = new FileInfo(Application.persistentDataPath + "/Log/" + NowTime + "_Log.txt");
+        //设置Log文件输出地址
+        FileWriter = fileInfo.Open(FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.Read);
+        encoding = new UTF8Encoding();
+        Application.logMessageReceived += LogCallback;
+        Debug.LogError("开始写入日志");
+    }
+    /// <summary>
+    /// Log回调
+    /// </summary>
+    /// <param name="condition">输出内容</param>
+    /// <param name="stackTrace">堆栈追踪</param>
+    /// <param name="type">Log日志类型</param>
+    private void LogCallback(string condition, string stackTrace, LogType type) //写入控制台数据
+    {
+        //输出的日志类型可以自定义
+        string content = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + " " + "【" + type + "】" + "【" + stackTrace + "】" + ":" + condition + Environment.NewLine + Environment.NewLine;
+        FileWriter.Write(encoding.GetBytes(content), 0, encoding.GetByteCount(content));
+        FileWriter.Flush();
+    }
+
+    private void OnDestroy()
+    {
+       
+    }
+
+    private void OnApplicationQuit()
+    {
+        //关闭写入
+        if ((FileWriter != null))
+        {
+            Debug.LogError("日志写入结束");
+            FileWriter.Close();
+            Application.logMessageReceived -= LogCallback;
+        }
+    }
+}

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

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

+ 1 - 1
Assets/StreamingAssets/AssetBundles.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: fb8c35466cabab040888f64fa59e4dff
+guid: ed2baca494e43af4284c2cdfedb960b6
 folderAsset: yes
 DefaultImporter:
   externalObjects: {}

+ 1 - 1
Assets/StreamingAssets/AssetBundles/Android.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: a663050f95de1594495ab8d02071d7a0
+guid: 1cf1e62ac3b0af4499b7d8e2fa1f77e9
 folderAsset: yes
 DefaultImporter:
   externalObjects: {}

BIN
Assets/StreamingAssets/AssetBundles/Android/Android


+ 1 - 1
Assets/StreamingAssets/AssetBundles/Android/Android.manifest

@@ -1,5 +1,5 @@
 ManifestFileVersion: 0
-CRC: 2430522732
+CRC: 1262510724
 AssetBundleManifest:
   AssetBundleInfos:
     Info_0:

+ 1 - 1
Assets/StreamingAssets/AssetBundles/Android/Android.manifest.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 117d53b35b8cd74419b53d206172b604
+guid: c97745177a5151f42beebfe17bbf77d3
 DefaultImporter:
   externalObjects: {}
   userData: 

+ 1 - 1
Assets/StreamingAssets/AssetBundles/Android/Android.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 4efb2c18716b845438bf024a4fd2b99f
+guid: b63ca4ad07236984f89077ee8219b5ed
 DefaultImporter:
   externalObjects: {}
   userData: 

+ 1 - 1
Assets/StreamingAssets/AssetBundles/Android/asset_bundle_config.bin.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: fa5d1054225c0f54f851e032535edb48
+guid: 412aa64f082b7294d8c5af2d75a73565
 DefaultImporter:
   externalObjects: {}
   userData: 

BIN
Assets/StreamingAssets/AssetBundles/Android/editorpanel_prefab


+ 2 - 2
Assets/StreamingAssets/AssetBundles/Android/editorpanel_prefab.manifest

@@ -1,9 +1,9 @@
 ManifestFileVersion: 0
-CRC: 818906213
+CRC: 2396169967
 Hashes:
   AssetFileHash:
     serializedVersion: 2
-    Hash: 8093d3a8400f9122a889cda21fcece9d
+    Hash: de15767c2fa12bccfc1d35af07b62135
   TypeTreeHash:
     serializedVersion: 2
     Hash: 00bf664b3c04440ea9ad3c9d04e69c3f

+ 1 - 1
Assets/StreamingAssets/AssetBundles/Android/editorpanel_prefab.manifest.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 491d99024c9a39d4daa85d18a08b23d2
+guid: 500128e26953f9a4ba5cea97ebd9c3c6
 DefaultImporter:
   externalObjects: {}
   userData: 

+ 1 - 1
Assets/StreamingAssets/AssetBundles/Android/editorpanel_prefab.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: b7ebf129fec03594fa13f84cb90e31e8
+guid: fe62fbcea896b21418048a0eadeb4289
 DefaultImporter:
   externalObjects: {}
   userData: 

+ 1 - 1
Assets/StreamingAssets/AssetBundles/Android/mrhall.manifest

@@ -3,7 +3,7 @@ CRC: 3701939689
 Hashes:
   AssetFileHash:
     serializedVersion: 2
-    Hash: 43789f8c9877554a1e976f50781fbb64
+    Hash: ebfe92337059929c0acbf39ec785c65f
   TypeTreeHash:
     serializedVersion: 2
     Hash: 090b477a1ae94b11837c7bd6fe05abe6

+ 1 - 1
Assets/StreamingAssets/AssetBundles/Android/mrhall.manifest.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 76193901a1458fd41ac2d97c69a3c71a
+guid: 219f192a24ea05e438c7a9e9fb709b5e
 DefaultImporter:
   externalObjects: {}
   userData: 

+ 1 - 1
Assets/StreamingAssets/AssetBundles/Android/mrhall.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 5820792136ad342439006a823d7b3ab9
+guid: baaac75dfaeb6514db881538f3df65cb
 DefaultImporter:
   externalObjects: {}
   userData: 

+ 1 - 1
Assets/StreamingAssets/build_info

@@ -1 +1 @@
-Build from SK-20211220VCWK at 2022/6/9 15:49:18
+Build from SK-20211220VCWK at 2022/7/12 11:36:10

+ 4 - 4
ProjectSettings/ProjectSettings.asset

@@ -131,7 +131,7 @@ PlayerSettings:
     16:10: 1
     16:9: 1
     Others: 1
-  bundleVersion: 2.0.4
+  bundleVersion: 2.1.0
   preloadedAssets: []
   metroInputSource: 0
   wsaTransparentSwapchain: 0
@@ -175,7 +175,7 @@ PlayerSettings:
   androidSupportedAspectRatio: 1
   androidMaxAspectRatio: 2.1
   applicationIdentifier:
-    Android: com.ghz.navigator
+    Android: com.ghz.navigatormhl
   buildNumber: {}
   AndroidBundleVersionCode: 1
   AndroidMinSdkVersion: 26
@@ -186,7 +186,7 @@ PlayerSettings:
   iPhoneStrippingLevel: 0
   iPhoneScriptCallOptimization: 0
   ForceInternetPermission: 0
-  ForceSDCardPermission: 0
+  ForceSDCardPermission: 1
   CreateWallpaper: 0
   APKExpansionFiles: 0
   keepLoadedShadersAlive: 0
@@ -275,7 +275,7 @@ PlayerSettings:
   - m_BuildTarget: 
     m_Icons:
     - serializedVersion: 2
-      m_Icon: {fileID: 2800000, guid: 040b159413b3ac74e8ba0bed9c23a678, type: 3}
+      m_Icon: {fileID: 2800000, guid: d182e41a0380b2c40bf0bb1e74e80c55, type: 3}
       m_Width: 128
       m_Height: 128
       m_Kind: 0

Vissa filer visades inte eftersom för många filer har ändrats