Browse Source

点击保存,错误时出现警告弹窗

蓝色星空 1 year ago
parent
commit
0dd391f409

+ 13 - 0
Assets/Prefab/BluePrefabs/BlueRoot.prefab

@@ -101,6 +101,7 @@ GameObject:
   - component: {fileID: 5886227751517987777}
   - component: {fileID: 6577798671095520273}
   - component: {fileID: 1758718918244431555}
+  - component: {fileID: 3641700550515877180}
   m_Layer: 0
   m_Name: BlueRoot
   m_TagString: Untagged
@@ -151,6 +152,18 @@ MonoBehaviour:
   m_Name: 
   m_EditorClassIdentifier: 
   blueObject: {fileID: 11400000, guid: d2576af9f7ec3f744825e84161cd125b, type: 2}
+--- !u!114 &3641700550515877180
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4965398655029255260}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 7edfff1461ac83640bd4012b59d97201, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
 --- !u!1 &8893702449747549102
 GameObject:
   m_ObjectHideFlags: 0

+ 5 - 448
Assets/Resources/Warning/WarningPopUp.prefab

@@ -45,127 +45,6 @@ CanvasRenderer:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 1363123130180002313}
   m_CullTransparentMesh: 0
---- !u!1 &2160148987905475960
-GameObject:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  serializedVersion: 6
-  m_Component:
-  - component: {fileID: 2160148987905475961}
-  - component: {fileID: 2160148987905475963}
-  - component: {fileID: 2160148987905475962}
-  m_Layer: 5
-  m_Name: IconTip
-  m_TagString: Untagged
-  m_Icon: {fileID: 0}
-  m_NavMeshLayer: 0
-  m_StaticEditorFlags: 0
-  m_IsActive: 0
---- !u!224 &2160148987905475961
-RectTransform:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 2160148987905475960}
-  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
-  m_LocalPosition: {x: 0, y: 0, z: 0}
-  m_LocalScale: {x: 1, y: 1, z: 1}
-  m_ConstrainProportionsScale: 0
-  m_Children: []
-  m_Father: {fileID: 2160148988178575978}
-  m_RootOrder: 1
-  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: -91.2, y: 10}
-  m_SizeDelta: {x: 25.06, y: 22.49}
-  m_Pivot: {x: 0.5, y: 0.5}
---- !u!222 &2160148987905475963
-CanvasRenderer:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 2160148987905475960}
-  m_CullTransparentMesh: 0
---- !u!114 &2160148987905475962
-MonoBehaviour:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 2160148987905475960}
-  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: 1, g: 0, b: 0, a: 1}
-  m_RaycastTarget: 1
-  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
-  m_Maskable: 1
-  m_OnCullStateChanged:
-    m_PersistentCalls:
-      m_Calls: []
-  m_Sprite: {fileID: 21300000, guid: fad8aa4bf3a4e9e499cb38895a5d9801, type: 3}
-  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!1 &2160148987962956710
-GameObject:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  serializedVersion: 6
-  m_Component:
-  - component: {fileID: 2160148987962956711}
-  - component: {fileID: 2160148987962956705}
-  m_Layer: 5
-  m_Name: TMP SubMeshUI [WR SDF Material + LiberationSans SDF Atlas]
-  m_TagString: Untagged
-  m_Icon: {fileID: 0}
-  m_NavMeshLayer: 0
-  m_StaticEditorFlags: 0
-  m_IsActive: 1
---- !u!224 &2160148987962956711
-RectTransform:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 2160148987962956710}
-  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
-  m_LocalPosition: {x: 0, y: 0, z: 0}
-  m_LocalScale: {x: 1, y: 1, z: 1}
-  m_ConstrainProportionsScale: 0
-  m_Children: []
-  m_Father: {fileID: 2160148988899451590}
-  m_RootOrder: 0
-  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: 0, y: 0}
-  m_Pivot: {x: 0.5, y: 0.5}
---- !u!222 &2160148987962956705
-CanvasRenderer:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 2160148987962956710}
-  m_CullTransparentMesh: 0
 --- !u!1 &2160148988178575977
 GameObject:
   m_ObjectHideFlags: 0
@@ -199,9 +78,6 @@ RectTransform:
   m_ConstrainProportionsScale: 0
   m_Children:
   - {fileID: 2160148988694440984}
-  - {fileID: 2160148987905475961}
-  - {fileID: 2160148988786507499}
-  - {fileID: 2160148988899451590}
   - {fileID: 5559633863180776534}
   - {fileID: 2993629249426603709}
   m_Father: {fileID: 0}
@@ -361,325 +237,6 @@ MonoBehaviour:
   m_FillOrigin: 0
   m_UseSpriteMesh: 0
   m_PixelsPerUnitMultiplier: 1
---- !u!1 &2160148988755893664
-GameObject:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  serializedVersion: 6
-  m_Component:
-  - component: {fileID: 2160148988755893665}
-  - component: {fileID: 2160148988755893667}
-  m_Layer: 5
-  m_Name: TMP SubMeshUI [WR SDF Material + LiberationSans SDF Atlas]
-  m_TagString: Untagged
-  m_Icon: {fileID: 0}
-  m_NavMeshLayer: 0
-  m_StaticEditorFlags: 0
-  m_IsActive: 1
---- !u!224 &2160148988755893665
-RectTransform:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 2160148988755893664}
-  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
-  m_LocalPosition: {x: 0, y: 0, z: 0}
-  m_LocalScale: {x: 1, y: 1, z: 1}
-  m_ConstrainProportionsScale: 0
-  m_Children: []
-  m_Father: {fileID: 2160148988786507499}
-  m_RootOrder: 0
-  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: 0, y: 0}
-  m_Pivot: {x: 0.5, y: 0.5}
---- !u!222 &2160148988755893667
-CanvasRenderer:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 2160148988755893664}
-  m_CullTransparentMesh: 0
---- !u!1 &2160148988786507498
-GameObject:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  serializedVersion: 6
-  m_Component:
-  - component: {fileID: 2160148988786507499}
-  - component: {fileID: 2160148988786507509}
-  - component: {fileID: 2160148988786507508}
-  m_Layer: 5
-  m_Name: MainTip
-  m_TagString: Untagged
-  m_Icon: {fileID: 0}
-  m_NavMeshLayer: 0
-  m_StaticEditorFlags: 0
-  m_IsActive: 0
---- !u!224 &2160148988786507499
-RectTransform:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 2160148988786507498}
-  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
-  m_LocalPosition: {x: 0, y: 0, z: 0}
-  m_LocalScale: {x: 1, y: 1, z: 1}
-  m_ConstrainProportionsScale: 0
-  m_Children:
-  - {fileID: 2160148988755893665}
-  m_Father: {fileID: 2160148988178575978}
-  m_RootOrder: 2
-  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: 8.1, y: 9.3}
-  m_SizeDelta: {x: 150.91, y: 43.82}
-  m_Pivot: {x: 0.5, y: 0.5}
---- !u!222 &2160148988786507509
-CanvasRenderer:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 2160148988786507498}
-  m_CullTransparentMesh: 0
---- !u!114 &2160148988786507508
-MonoBehaviour:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 2160148988786507498}
-  m_Enabled: 1
-  m_EditorHideFlags: 0
-  m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
-  m_Name: 
-  m_EditorClassIdentifier: 
-  m_Material: {fileID: 0}
-  m_Color: {r: 1, g: 1, b: 1, a: 1}
-  m_RaycastTarget: 1
-  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
-  m_Maskable: 1
-  m_OnCullStateChanged:
-    m_PersistentCalls:
-      m_Calls: []
-  m_text: Please enter the theme
-  m_isRightToLeft: 0
-  m_fontAsset: {fileID: 11400000, guid: fb2cd06170cbccb45aeb2aa643b0e4d4, type: 2}
-  m_sharedMaterial: {fileID: 8874737445518861689, guid: fb2cd06170cbccb45aeb2aa643b0e4d4,
-    type: 2}
-  m_fontSharedMaterials: []
-  m_fontMaterial: {fileID: 0}
-  m_fontMaterials: []
-  m_fontColor32:
-    serializedVersion: 2
-    rgba: 4279196915
-  m_fontColor: {r: 0.9528302, g: 0.36229077, b: 0.05842829, a: 1}
-  m_enableVertexGradient: 0
-  m_colorMode: 3
-  m_fontColorGradient:
-    topLeft: {r: 1, g: 1, b: 1, a: 1}
-    topRight: {r: 1, g: 1, b: 1, a: 1}
-    bottomLeft: {r: 1, g: 1, b: 1, a: 1}
-    bottomRight: {r: 1, g: 1, b: 1, a: 1}
-  m_fontColorGradientPreset: {fileID: 0}
-  m_spriteAsset: {fileID: 0}
-  m_tintAllSprites: 0
-  m_StyleSheet: {fileID: 0}
-  m_TextStyleHashCode: -1183493901
-  m_overrideHtmlColors: 0
-  m_faceColor:
-    serializedVersion: 2
-    rgba: 4294967295
-  m_fontSize: 16
-  m_fontSizeBase: 16
-  m_fontWeight: 400
-  m_enableAutoSizing: 0
-  m_fontSizeMin: 18
-  m_fontSizeMax: 72
-  m_fontStyle: 1
-  m_HorizontalAlignment: 2
-  m_VerticalAlignment: 512
-  m_textAlignment: 65535
-  m_characterSpacing: 0
-  m_wordSpacing: 0
-  m_lineSpacing: 0
-  m_lineSpacingMax: 0
-  m_paragraphSpacing: 0
-  m_charWidthMaxAdj: 0
-  m_enableWordWrapping: 1
-  m_wordWrappingRatios: 0.4
-  m_overflowMode: 0
-  m_linkedTextComponent: {fileID: 0}
-  parentLinkedComponent: {fileID: 0}
-  m_enableKerning: 1
-  m_enableExtraPadding: 0
-  checkPaddingRequired: 0
-  m_isRichText: 1
-  m_parseCtrlCharacters: 1
-  m_isOrthographic: 1
-  m_isCullingEnabled: 0
-  m_horizontalMapping: 0
-  m_verticalMapping: 0
-  m_uvLineOffset: 0
-  m_geometrySortingOrder: 0
-  m_IsTextObjectScaleStatic: 0
-  m_VertexBufferAutoSizeReduction: 1
-  m_useMaxVisibleDescender: 1
-  m_pageToDisplay: 1
-  m_margin: {x: -11.806205, y: 0, z: -12.835153, w: 0}
-  m_isUsingLegacyAnimationComponent: 0
-  m_isVolumetricText: 0
-  m_hasFontAssetChanged: 0
-  m_baseMaterial: {fileID: 0}
-  m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
---- !u!1 &2160148988899451589
-GameObject:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  serializedVersion: 6
-  m_Component:
-  - component: {fileID: 2160148988899451590}
-  - component: {fileID: 2160148988899451584}
-  - component: {fileID: 2160148988899451591}
-  m_Layer: 5
-  m_Name: MinorTip
-  m_TagString: Untagged
-  m_Icon: {fileID: 0}
-  m_NavMeshLayer: 0
-  m_StaticEditorFlags: 0
-  m_IsActive: 0
---- !u!224 &2160148988899451590
-RectTransform:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 2160148988899451589}
-  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
-  m_LocalPosition: {x: 0, y: 0, z: 0}
-  m_LocalScale: {x: 1, y: 1, z: 1}
-  m_ConstrainProportionsScale: 0
-  m_Children:
-  - {fileID: 2160148987962956711}
-  m_Father: {fileID: 2160148988178575978}
-  m_RootOrder: 3
-  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: 6.6, y: -19.4}
-  m_SizeDelta: {x: 61.32, y: 17.355}
-  m_Pivot: {x: 0.5, y: 0.5}
---- !u!222 &2160148988899451584
-CanvasRenderer:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 2160148988899451589}
-  m_CullTransparentMesh: 0
---- !u!114 &2160148988899451591
-MonoBehaviour:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 2160148988899451589}
-  m_Enabled: 1
-  m_EditorHideFlags: 0
-  m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
-  m_Name: 
-  m_EditorClassIdentifier: 
-  m_Material: {fileID: 0}
-  m_Color: {r: 1, g: 1, b: 1, a: 1}
-  m_RaycastTarget: 1
-  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
-  m_Maskable: 1
-  m_OnCullStateChanged:
-    m_PersistentCalls:
-      m_Calls: []
-  m_text: Please enter the subtitle
-  m_isRightToLeft: 0
-  m_fontAsset: {fileID: 11400000, guid: fb2cd06170cbccb45aeb2aa643b0e4d4, type: 2}
-  m_sharedMaterial: {fileID: 8874737445518861689, guid: fb2cd06170cbccb45aeb2aa643b0e4d4,
-    type: 2}
-  m_fontSharedMaterials: []
-  m_fontMaterial: {fileID: 0}
-  m_fontMaterials: []
-  m_fontColor32:
-    serializedVersion: 2
-    rgba: 4279196915
-  m_fontColor: {r: 0.9528302, g: 0.36229077, b: 0.05842829, a: 1}
-  m_enableVertexGradient: 0
-  m_colorMode: 3
-  m_fontColorGradient:
-    topLeft: {r: 1, g: 1, b: 1, a: 1}
-    topRight: {r: 1, g: 1, b: 1, a: 1}
-    bottomLeft: {r: 1, g: 1, b: 1, a: 1}
-    bottomRight: {r: 1, g: 1, b: 1, a: 1}
-  m_fontColorGradientPreset: {fileID: 0}
-  m_spriteAsset: {fileID: 0}
-  m_tintAllSprites: 0
-  m_StyleSheet: {fileID: 0}
-  m_TextStyleHashCode: -1183493901
-  m_overrideHtmlColors: 0
-  m_faceColor:
-    serializedVersion: 2
-    rgba: 4294967295
-  m_fontSize: 7
-  m_fontSizeBase: 7
-  m_fontWeight: 400
-  m_enableAutoSizing: 0
-  m_fontSizeMin: 18
-  m_fontSizeMax: 72
-  m_fontStyle: 3
-  m_HorizontalAlignment: 2
-  m_VerticalAlignment: 512
-  m_textAlignment: 65535
-  m_characterSpacing: 0
-  m_wordSpacing: 0
-  m_lineSpacing: 0
-  m_lineSpacingMax: 0
-  m_paragraphSpacing: 0
-  m_charWidthMaxAdj: 0
-  m_enableWordWrapping: 1
-  m_wordWrappingRatios: 0.4
-  m_overflowMode: 0
-  m_linkedTextComponent: {fileID: 0}
-  parentLinkedComponent: {fileID: 0}
-  m_enableKerning: 1
-  m_enableExtraPadding: 0
-  checkPaddingRequired: 0
-  m_isRichText: 1
-  m_parseCtrlCharacters: 1
-  m_isOrthographic: 1
-  m_isCullingEnabled: 0
-  m_horizontalMapping: 0
-  m_verticalMapping: 0
-  m_uvLineOffset: 0
-  m_geometrySortingOrder: 0
-  m_IsTextObjectScaleStatic: 0
-  m_VertexBufferAutoSizeReduction: 1
-  m_useMaxVisibleDescender: 1
-  m_pageToDisplay: 1
-  m_margin: {x: -11.806205, y: 0, z: -12.835153, w: 0}
-  m_isUsingLegacyAnimationComponent: 0
-  m_isVolumetricText: 0
-  m_hasFontAssetChanged: 0
-  m_baseMaterial: {fileID: 0}
-  m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
 --- !u!1 &6683293567407465727
 GameObject:
   m_ObjectHideFlags: 0
@@ -711,7 +268,7 @@ RectTransform:
   m_ConstrainProportionsScale: 0
   m_Children: []
   m_Father: {fileID: 2160148988178575978}
-  m_RootOrder: 5
+  m_RootOrder: 2
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0.5, y: 0.5}
   m_AnchorMax: {x: 0.5, y: 0.5}
@@ -788,12 +345,12 @@ RectTransform:
   m_Children:
   - {fileID: 2800013769068192779}
   m_Father: {fileID: 2160148988178575978}
-  m_RootOrder: 4
+  m_RootOrder: 1
   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: 8.1, y: 1.1}
-  m_SizeDelta: {x: 150.91, y: 43.82}
+  m_AnchoredPosition: {x: 21.86, y: 1.1}
+  m_SizeDelta: {x: 178.42, y: 43.82}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!222 &1015603532000856430
 CanvasRenderer:
@@ -887,7 +444,7 @@ MonoBehaviour:
   m_VertexBufferAutoSizeReduction: 1
   m_useMaxVisibleDescender: 1
   m_pageToDisplay: 1
-  m_margin: {x: -11.806205, y: 0, z: -12.835153, w: 0}
+  m_margin: {x: 0.67483616, y: 0, z: 0.2699118, w: 0}
   m_isUsingLegacyAnimationComponent: 0
   m_isVolumetricText: 0
   m_hasFontAssetChanged: 0

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

@@ -1,4 +1,5 @@
-using LitJson;
+using Blue;
+using LitJson;
 using Newtonsoft.Json;
 using Newtonsoft.Json.Linq;
 using SC.XR.Unity;
@@ -150,6 +151,15 @@ public class DataManager : SingletonMono<DataManager>
 
     private void SaveCallBack(string message)
     {
+        if (message == "UnityWebRequest Error")
+        {
+            InstantiateCommand Command= new InstantiateCommand(
+                InstantiateSystem.Instance.BlueObject.WarningPopUp,
+                InstantiateSystem.Instance.BlueObject.NetErrorText);
+            CommandExtensionSystem.Instance.Send(Command);
+            return;
+        }
+
         Debug.Log("SaveCallBack:  " + message);
         JObject jObject = JObject.Parse(message);
         string str = jObject["message"].ToString();

+ 4 - 4
Assets/Scripts/Blue/0.FrameworkDesign/Util/SingletonMonobehaviour.cs

@@ -2,7 +2,7 @@ using UnityEngine;
 
 namespace Blue
 {
-    public class SingletonMonobehaviour<T> : MonoBehaviour where T:SingletonMonobehaviour<T>
+    public class SingletonMonobehaviour<T> : AbstractController where T:SingletonMonobehaviour<T>
     {
         private static T _instance;
 
@@ -11,13 +11,13 @@ namespace Blue
             get => _instance;
         }
 
-        public virtual void OnStart() { }
-        private void Start()
+        public virtual void OnAwake() { }
+        private void Awake()
         {
             if (_instance == null)
             {
                 _instance = this.GetComponent<T>();
-                _instance.OnStart();
+                _instance.OnAwake();
                 DontDestroyOnLoad(_instance);
             }
             else

+ 18 - 0
Assets/Scripts/Blue/Command/GetGameObjectCommand.cs

@@ -0,0 +1,18 @@
+using Blue;
+using UnityEngine;
+
+public class GetGameObjectCommand : ICommand
+{
+    private GameObject obj;
+    public GetGameObjectCommand(GameObject obj)
+    {
+        this.obj = obj;
+    }
+    public void OnExcute()
+    {
+        if(InstantiateSystem.Instance.objDic.ContainsKey(obj.name))
+            InstantiateSystem.Instance.objDic[obj.name] = obj;
+        else
+            InstantiateSystem.Instance.objDic.Add(obj.name,obj);
+    }
+}

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

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

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

@@ -4,12 +4,14 @@ using UnityEngine;
 public class InstantiateCommand : ICommand
 {
     private GameObject prefab;
-    public InstantiateCommand(GameObject prefab)
+    private string content;
+    public InstantiateCommand(GameObject prefab,string content="")
     {
         this.prefab = prefab;
+        this.content = content;
     }
     public void OnExcute()
     {
-        InstantiateSystem.Instance.InstantiatePrefab(prefab);
+        InstantiateSystem.Instance.InstantiatePrefab(prefab, content);
     }
 }

+ 7 - 1
Assets/Scripts/Blue/Controller/WarningPopUpController.cs

@@ -1,13 +1,19 @@
 using UnityEngine;
 
 public class WarningPopUpController :MonoBehaviour
-{ 
+{
     private void Start()
     {
         Invoke("Active",3);
     }
     private void Active()
     {
+        // 关闭加载界面
+        if(InstantiateSystem.Instance.objDic.TryGetValue("LoadingPanel(Clone)",out GameObject LoadingPanel))
+        {
+            if (LoadingPanel.activeSelf)
+                LoadingPanel.SetActive(false);
+        }
         Destroy(gameObject);
     }
 }

+ 2 - 1
Assets/Scripts/Blue/ScriptableObject/BlueObject.cs

@@ -5,4 +5,5 @@ public class BlueObject : ScriptableObject
 {
     //可以包含更多的数据,信息
     public GameObject WarningPopUp;
-}
+    public string NetErrorText;
+}

+ 1 - 0
Assets/Scripts/Blue/ScriptableObject/PrefabsAsset.asset

@@ -14,3 +14,4 @@ MonoBehaviour:
   m_EditorClassIdentifier: 
   WarningPopUp: {fileID: 2160148988178575977, guid: 725f0ac354735774cbc2e7c450ccb350,
     type: 3}
+  NetErrorText: "\u4FDD\u5B58\u5931\u8D25\\n\u670D\u52A1\u5668\u5F02\u5E38,\u8BF7\u7A0D\u540E\u91CD\u8BD5"

+ 12 - 0
Assets/Scripts/Blue/System/CommandExtensionSystem.cs

@@ -0,0 +1,12 @@
+using Blue;
+
+public class CommandExtensionSystem : SingletonMonobehaviour<CommandExtensionSystem>
+{
+    /// <summary>
+    /// 发送命令
+    /// </summary>
+    public void Send(ICommand command)
+    {
+        this.SendCommand(command);
+    }
+}

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

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

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

@@ -1,13 +1,38 @@
+using System.Collections.Generic;
 using Blue;
 using UnityEngine;
+using TMPro;
 
 public class InstantiateSystem : SingletonMonobehaviour<InstantiateSystem>
 {
     [SerializeField] private BlueObject blueObject;
     public BlueObject BlueObject => blueObject;
 
+    public Dictionary<string, GameObject> objDic = new Dictionary<string, GameObject>();
+
     public void InstantiatePrefab(GameObject prefab)
     {
         Instantiate(prefab);
     }
-}
+
+    public void InstantiatePrefab(GameObject prefab, string content = "")
+    {
+        if (content != "")
+        {
+            // 修改显示内容,并实例化到CenterCamera
+            prefab.GetComponentInChildren<TextMeshProUGUI>().text = content;
+            GameObject CenterCamera = GameObject.Find("SDKSystem/NRCameraRig/CenterCamera");
+            if(CenterCamera!=null)
+                Instantiate(prefab, CenterCamera.transform);
+
+            // 关闭加载界面
+            if(objDic.TryGetValue("LoadingPanel(Clone)",out GameObject LoadingPanel))
+            {
+                if (LoadingPanel.activeSelf)
+                    LoadingPanel.SetActive(false);
+            }
+        }
+        else
+            Instantiate(prefab);
+    }
+}

+ 1 - 0
Assets/Scripts/Net/HttpTool.cs

@@ -169,6 +169,7 @@ public class HttpTool : MonoSingleton<HttpTool>
 
             if (webRequest.isHttpError || webRequest.isNetworkError)
             {
+                CallBack?.Invoke("UnityWebRequest Error");
                 Debug.LogError(webRequest.error + "\n" + webRequest.downloadHandler.text + "\n" + methodName);
                 //GameManager.Instance.text2.text = webRequest.error;
             }

+ 9 - 0
Assets/Scripts/UI/AnchorEditorPanel/UIAnchorsPanel.cs

@@ -2,6 +2,7 @@
   summary:
 
 ****************************/
+using Blue;
 using Newtonsoft.Json;
 using Newtonsoft.Json.Linq;
 using System.Collections;
@@ -77,6 +78,14 @@ public class UIAnchorsPanel : UIPanelBase
 
     private void SaveCallBack(string message)
     {
+        if(message == "UnityWebRequest Error")
+        {
+            InstantiateCommand Command = new InstantiateCommand(
+                InstantiateSystem.Instance.BlueObject.WarningPopUp,
+                InstantiateSystem.Instance.BlueObject.NetErrorText);
+            CommandExtensionSystem.Instance.Send(Command);
+            return;
+        }
         Debug.Log("SaveCallBack:  " + message);
         JObject jObject = JObject.Parse(message);
         string str = jObject["message"].ToString();

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

@@ -1,4 +1,5 @@
-using LitJson;
+using Blue;
+using LitJson;
 using Newtonsoft.Json;
 using Newtonsoft.Json.Linq;
 using System;
@@ -282,6 +283,15 @@ public class UIMaterialsPanel : UIPanelBase, EventObserver
 
     private void SaveCallBack(string message)
     {
+        if (message == "UnityWebRequest Error")
+        {
+            InstantiateCommand Command =new InstantiateCommand(
+                InstantiateSystem.Instance.BlueObject.WarningPopUp,
+                InstantiateSystem.Instance.BlueObject.NetErrorText);
+            CommandExtensionSystem.Instance.Send(Command);
+            return;
+        }
+
         Debug.Log("SaveCallBack:  " + message);
         JObject jObject = JObject.Parse(message);
         string str = jObject["message"].ToString();

+ 3 - 1
Assets/Scripts/UI/LoadingPanel.cs

@@ -1,4 +1,5 @@
-using LitJson;
+using Blue;
+using LitJson;
 using Newtonsoft.Json.Linq;
 using System.Collections;
 using System.Collections.Generic;
@@ -61,6 +62,7 @@ public class LoadingPanel : BaseUI
         m_Text = CacheTransform.Find("Text").GetComponent<Text>();
         m_Progress = CacheTransform.Find("Progress").GetComponent<Text>();
         ProgressStr = "";
+        this.SendCommand(new GetGameObjectCommand(gameObject));
     }
 
     protected override void OnShow(object param)

+ 2 - 0
Assets/Scripts/UI/SceneChoose.cs

@@ -103,6 +103,7 @@ public class SceneChoose : BaseUI
 
             HttpTool.Instance.PostTest("/project/detail", str, (mes) =>
             {
+                if (mes == "UnityWebRequest Error") return;
                 JObject jObject = JObject.Parse(mes);
                 if (jObject["code"].ToString() == "200")
                 {
@@ -166,6 +167,7 @@ public class SceneChoose : BaseUI
         //通过SN获取场景数据
         HttpTool.Instance.PostTest("/sn/init", jsonString, (message) =>
         {
+            if (message == "UnityWebRequest Error") return;
             Debug.Log("SN:" + send.sn);
             Debug.Log("通过SN获取场景数据:" + message);
             if (!string.IsNullOrWhiteSpace(message))