浏览代码

背景模糊

lzx 1 天之前
父节点
当前提交
0d4f221fc3
共有 49 个文件被更改,包括 1633 次插入41 次删除
  1. 52 1
      Assets/Res/UI/AppBarPanel/AppBarPanel.prefab
  2. 95 0
      Assets/Res/UI/BackgroundCom.prefab
  3. 7 0
      Assets/Res/UI/BackgroundCom.prefab.meta
  4. 8 0
      Assets/Res/UI/BackgroundPanel.meta
  5. 274 0
      Assets/Res/UI/BackgroundPanel/BackgroundPanel.prefab
  6. 7 0
      Assets/Res/UI/BackgroundPanel/BackgroundPanel.prefab.meta
  7. 3 3
      Assets/Res/UI/BoxPanel/BoxPanel.prefab
  8. 1 1
      Assets/Res/UI/DivineSence/BossInfoPanel.prefab
  9. 1 1
      Assets/Res/UI/ItemDetailsPanel/ItemDetailsPanel.prefab
  10. 1 1
      Assets/Res/UI/ItemDetailsPanel/ItemDetailsWidget.prefab
  11. 1 1
      Assets/Res/UI/QiankundaiPanel/QiankundaiInfoPanel.prefab
  12. 1 1
      Assets/Res/UI/QiankundaiPanel/QiankundaiPanel.prefab
  13. 1 1
      Assets/Res/UI/RewardsPanel/RewardsPanel.prefab
  14. 1 1
      Assets/Res/UI/Task/TaskInfoPanel.prefab
  15. 141 0
      Assets/Resources/MoHu.shader
  16. 9 0
      Assets/Resources/MoHu.shader.meta
  17. 18 0
      Assets/Scripts/Core/Pool/CObject/Entity.cs
  18. 210 7
      Assets/Scripts/Core/UI/Core/UIManager.cs
  19. 2 2
      Assets/Scripts/Core/UI/Core/UIPanel.cs
  20. 8 0
      Assets/Scripts/Feature.meta
  21. 21 0
      Assets/Scripts/Feature/Feature.asmdef
  22. 7 0
      Assets/Scripts/Feature/Feature.asmdef.meta
  23. 8 0
      Assets/Scripts/GameUI/Feature.meta
  24. 41 0
      Assets/Scripts/GameUI/Feature/InterceptGameFaeture.cs
  25. 11 0
      Assets/Scripts/GameUI/Feature/InterceptGameFaeture.cs.meta
  26. 98 0
      Assets/Scripts/GameUI/Feature/InterceptGamePass.cs
  27. 11 0
      Assets/Scripts/GameUI/Feature/InterceptGamePass.cs.meta
  28. 5 1
      Assets/Scripts/GameUI/Fort23.Mono.asmdef
  29. 16 8
      Assets/Scripts/GameUI/UI/AppBarPanel/AppBarPanel.cs
  30. 11 0
      Assets/Scripts/GameUI/UI/AppBarPanel/AppBarPanelData.cs
  31. 172 0
      Assets/Scripts/GameUI/UI/BackgroundCom.cs
  32. 11 0
      Assets/Scripts/GameUI/UI/BackgroundCom.cs.meta
  33. 29 0
      Assets/Scripts/GameUI/UI/BackgroundComData.cs
  34. 11 0
      Assets/Scripts/GameUI/UI/BackgroundComData.cs.meta
  35. 8 0
      Assets/Scripts/GameUI/UI/BackgroundPanel.meta
  36. 244 0
      Assets/Scripts/GameUI/UI/BackgroundPanel/BackgroundPanel.cs
  37. 11 0
      Assets/Scripts/GameUI/UI/BackgroundPanel/BackgroundPanel.cs.meta
  38. 40 0
      Assets/Scripts/GameUI/UI/BackgroundPanel/BackgroundPanelData.cs
  39. 11 0
      Assets/Scripts/GameUI/UI/BackgroundPanel/BackgroundPanelData.cs.meta
  40. 3 3
      Assets/Scripts/GameUI/UI/BoxPanel/BoxPanel.cs
  41. 1 1
      Assets/Scripts/GameUI/UI/DivineSence/BossInfoPanel.cs
  42. 1 1
      Assets/Scripts/GameUI/UI/DivineSence/EventTipsPanel.cs
  43. 1 1
      Assets/Scripts/GameUI/UI/ItemDetailsPanel/ItemDetailsPanel.cs
  44. 1 1
      Assets/Scripts/GameUI/UI/QiankundaiPanel/QiankundaiInfoPanel.cs
  45. 1 1
      Assets/Scripts/GameUI/UI/QiankundaiPanel/QiankundaiPanel.cs
  46. 2 2
      Assets/Scripts/GameUI/UI/RewardsPanel/RewardsPanel.cs
  47. 1 1
      Assets/Scripts/GameUI/UI/Task/TaskInfoPanel.cs
  48. 15 1
      Assets/Settings/rpAsset_Renderer.asset
  49. 0 0
      Assets/StreamingAssets/assetConfig.txt

+ 52 - 1
Assets/Res/UI/AppBarPanel/AppBarPanel.prefab

@@ -2487,6 +2487,11 @@ MonoBehaviour:
     isAssetBundle: 0
     isList: 0
     ListCollectorDatas: []
+  - key: MenuBgRoot
+    gameObject: {fileID: 249986433923533433}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas: []
   isAssetBundle: 1
 --- !u!1 &5245840134221701572
 GameObject:
@@ -3033,6 +3038,7 @@ RectTransform:
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_ConstrainProportionsScale: 0
   m_Children:
+  - {fileID: 249986433923533433}
   - {fileID: 7366721648260446241}
   - {fileID: 7683181027623438140}
   - {fileID: 125996766480416986}
@@ -3059,7 +3065,7 @@ MonoBehaviour:
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 5932829315190635120}
-  m_Enabled: 1
+  m_Enabled: 0
   m_EditorHideFlags: 0
   m_Script: {fileID: 11500000, guid: 3c247620ca3a1fd4ab2a2f3a5b287e07, type: 3}
   m_Name: 
@@ -3229,6 +3235,51 @@ MonoBehaviour:
   m_OnClick:
     m_PersistentCalls:
       m_Calls: []
+--- !u!1 &6078518409971090724
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 249986433923533433}
+  - component: {fileID: 6708407763534034227}
+  m_Layer: 5
+  m_HasEditorInfo: 1
+  m_Name: MenuBgRoot
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &249986433923533433
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6078518409971090724}
+  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: 909808399738442487}
+  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 &6708407763534034227
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6078518409971090724}
+  m_CullTransparentMesh: 1
 --- !u!1 &6600899041924302467
 GameObject:
   m_ObjectHideFlags: 0

+ 95 - 0
Assets/Res/UI/BackgroundCom.prefab

@@ -0,0 +1,95 @@
+%YAML 1.1
+%TAG !u! tag:yousandi.cn,2023:
+--- !u!1 &2062904427700153750
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 3329540650507807299}
+  - component: {fileID: 4871295605075880536}
+  - component: {fileID: 3820114578780643535}
+  - component: {fileID: 2848760606960095958}
+  m_Layer: 5
+  m_HasEditorInfo: 1
+  m_Name: BackgroundCom
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &3329540650507807299
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2062904427700153750}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_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 &4871295605075880536
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2062904427700153750}
+  m_CullTransparentMesh: 1
+--- !u!114 &3820114578780643535
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2062904427700153750}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, 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_Texture: {fileID: 0}
+  m_UVRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+--- !u!114 &2848760606960095958
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2062904427700153750}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4810a0857c909354fa00c3aafdeac753, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  data:
+  - key: RawImage
+    gameObject: {fileID: 3820114578780643535}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas: []
+  isAssetBundle: 1

+ 7 - 0
Assets/Res/UI/BackgroundCom.prefab.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: DH8Y4Hz8AHnLcw7sMjzj9is4OBbQABAealL5GQrpRHh68DVLrXIc+hAWRNtU
+PrefabImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/Res/UI/BackgroundPanel.meta

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

+ 274 - 0
Assets/Res/UI/BackgroundPanel/BackgroundPanel.prefab

@@ -0,0 +1,274 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &6511359846853301411
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 6511359846853301410}
+  - component: {fileID: 6511359846853301409}
+  - component: {fileID: 7651375321177202314}
+  m_Layer: 5
+  m_Name: BackgroundPanel
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &6511359846853301410
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6511359846853301411}
+  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: 6511359847547714941}
+  - {fileID: 6511359847641744680}
+  m_Father: {fileID: 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, y: 0}
+  m_SizeDelta: {x: 1624, y: 750}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &6511359846853301409
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6511359846853301411}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4810a0857c909354fa00c3aafdeac753, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  data:
+  - key: Btn_BG
+    gameObject: {fileID: 662245988697847974}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas: []
+  - key: RawImage
+    gameObject: {fileID: 4425456811162685081}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas: []
+  isAssetBundle: 0
+--- !u!225 &7651375321177202314
+CanvasGroup:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6511359846853301411}
+  m_Enabled: 1
+  m_Alpha: 1
+  m_Interactable: 1
+  m_BlocksRaycasts: 1
+  m_IgnoreParentGroups: 0
+--- !u!1 &6511359847547714942
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 6511359847547714941}
+  - component: {fileID: 6511359847547714931}
+  - component: {fileID: 662245988697847974}
+  - component: {fileID: 4425456811162685081}
+  m_Layer: 5
+  m_Name: BG00
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &6511359847547714941
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6511359847547714942}
+  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: 6511359846853301410}
+  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 &6511359847547714931
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6511359847547714942}
+  m_CullTransparentMesh: 1
+--- !u!114 &662245988697847974
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6511359847547714942}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_WrapAround: 0
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 0
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+    m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+    m_ColorMultiplier: 1
+    m_FadeDuration: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_SelectedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_SelectedTrigger: Selected
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 4425456811162685081}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls: []
+--- !u!114 &4425456811162685081
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6511359847547714942}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 0.6509434, g: 0.6509434, b: 0.6509434, 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_Texture: {fileID: 0}
+  m_UVRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+--- !u!1 &6511359847641744681
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 6511359847641744680}
+  - component: {fileID: 6511359847641744686}
+  - component: {fileID: 6511359847641744687}
+  m_Layer: 5
+  m_Name: Text (Legacy)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 0
+--- !u!224 &6511359847641744680
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6511359847641744681}
+  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: 6511359846853301410}
+  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, y: -24.48}
+  m_SizeDelta: {x: 869.16, y: 162.97}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &6511359847641744686
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6511359847641744681}
+  m_CullTransparentMesh: 1
+--- !u!114 &6511359847641744687
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6511359847641744681}
+  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: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_FontData:
+    m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+    m_FontSize: 71
+    m_FontStyle: 0
+    m_BestFit: 0
+    m_MinSize: 10
+    m_MaxSize: 71
+    m_Alignment: 4
+    m_AlignByGeometry: 0
+    m_RichText: 1
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  languageId: 0
+  m_Text: "\u80CC\u666F"

+ 7 - 0
Assets/Res/UI/BackgroundPanel/BackgroundPanel.prefab.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: XSscsH/4Wy7UQXEa9hFIECS+iTDGmppwXHsWVfDCP/MR/cY89Hn8NGVBdqmy
+PrefabImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 3 - 3
Assets/Res/UI/BoxPanel/BoxPanel.prefab

@@ -114,7 +114,7 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: 6a23dadfaa104ddf929b8c98dd02623c, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  maxDuration: 0.3
+  maxDuration: 0
   isUpdate: 0
   currTime: 0.30024773
   GrpupInfos:
@@ -127,7 +127,7 @@ MonoBehaviour:
     - {fileID: 3194501373201481477}
     TweenAssetInfo: {fileID: 11400000, guid: 3b43306cabdd06a48a5e1cba65050d09, type: 2}
     TargetFoldout: 1
-    maxDuration: 0.3
+    maxDuration: 0
     isUpdate: 1
     currTime: 0
   MinMaxGradient:
@@ -1656,7 +1656,7 @@ GameObject:
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
-  m_IsActive: 1
+  m_IsActive: 0
 --- !u!224 &7720912462477243599
 RectTransform:
   m_ObjectHideFlags: 0

+ 1 - 1
Assets/Res/UI/DivineSence/BossInfoPanel.prefab

@@ -2533,7 +2533,7 @@ GameObject:
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
-  m_IsActive: 1
+  m_IsActive: 0
 --- !u!224 &2896655462721008753
 RectTransform:
   m_ObjectHideFlags: 0

+ 1 - 1
Assets/Res/UI/ItemDetailsPanel/ItemDetailsPanel.prefab

@@ -838,7 +838,7 @@ GameObject:
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
-  m_IsActive: 1
+  m_IsActive: 0
 --- !u!224 &7354664618027818273
 RectTransform:
   m_ObjectHideFlags: 0

+ 1 - 1
Assets/Res/UI/ItemDetailsPanel/ItemDetailsWidget.prefab

@@ -281,7 +281,7 @@ MonoBehaviour:
   m_FillOrigin: 0
   m_UseSpriteMesh: 0
   m_PixelsPerUnitMultiplier: 1
-  _icon_name: dec_juxing_fang
+  _icon_name: dec_jianbian_tiao2
   isNotLoadDeftIcon: 0
   CurrSpriteAtlas: {fileID: 100100200, guid: b02f6b41a7a9fa8458f4226ab6b3ea47, type: 3}
   packInfo:

+ 1 - 1
Assets/Res/UI/QiankundaiPanel/QiankundaiInfoPanel.prefab

@@ -834,7 +834,7 @@ GameObject:
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
-  m_IsActive: 1
+  m_IsActive: 0
 --- !u!224 &7354664618027818273
 RectTransform:
   m_ObjectHideFlags: 0

+ 1 - 1
Assets/Res/UI/QiankundaiPanel/QiankundaiPanel.prefab

@@ -1148,7 +1148,7 @@ GameObject:
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
-  m_IsActive: 1
+  m_IsActive: 0
 --- !u!224 &7354664618027818273
 RectTransform:
   m_ObjectHideFlags: 0

+ 1 - 1
Assets/Res/UI/RewardsPanel/RewardsPanel.prefab

@@ -159,7 +159,7 @@ GameObject:
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
-  m_IsActive: 1
+  m_IsActive: 0
 --- !u!224 &8150427964580176949
 RectTransform:
   m_ObjectHideFlags: 0

+ 1 - 1
Assets/Res/UI/Task/TaskInfoPanel.prefab

@@ -1110,7 +1110,7 @@ GameObject:
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
-  m_IsActive: 1
+  m_IsActive: 0
 --- !u!224 &2896655462721008753
 RectTransform:
   m_ObjectHideFlags: 0

+ 141 - 0
Assets/Resources/MoHu.shader

@@ -0,0 +1,141 @@
+Shader "Unlit/MoHu"
+{
+    Properties
+    {
+        _MainTex ("Texture", 2D) = "white" {}
+    }
+    SubShader
+    {
+        Tags
+        {
+            "RenderType"="Opaque"
+        }
+        LOD 100
+
+        Pass
+        {
+            CGPROGRAM
+            #pragma vertex vert
+            #pragma fragment frag
+            #include "UnityCG.cginc"
+
+            struct appdata
+            {
+                float4 vertex : POSITION;
+                float2 uv : TEXCOORD0;
+            };
+
+            struct v2f
+            {
+                float2 uv : TEXCOORD0;
+                UNITY_FOG_COORDS(1)
+                float4 vertex : SV_POSITION;
+            };
+
+            sampler2D _MainTex;
+            float4 _MainTex_ST;
+            float4 _MainTex_TexelSize;
+
+            v2f vert(appdata v)
+            {
+                v2f o;
+                o.vertex = UnityObjectToClipPos(v.vertex);
+                o.uv = TRANSFORM_TEX(v.uv, _MainTex);
+
+                return o;
+            }
+
+            fixed4 frag(v2f i) : SV_Target
+            {
+                fixed4 col = tex2D(_MainTex, i.uv);
+                fixed4 col2 = tex2D(_MainTex, i.uv + fixed2(-1, 0) * _MainTex_TexelSize.xy);
+                fixed4 col3 = tex2D(_MainTex, i.uv + fixed2(1, 0) * _MainTex_TexelSize.xy);
+                return (col + col2 + col3) / 3;
+            }
+            ENDCG
+        }
+        
+         Pass
+        {
+            CGPROGRAM
+            #pragma vertex vert
+            #pragma fragment frag
+            #include "UnityCG.cginc"
+
+            struct appdata
+            {
+                float4 vertex : POSITION;
+                float2 uv : TEXCOORD0;
+            };
+
+            struct v2f
+            {
+                float2 uv : TEXCOORD0;
+                UNITY_FOG_COORDS(1)
+                float4 vertex : SV_POSITION;
+            };
+
+            sampler2D _MainTex;
+            float4 _MainTex_ST;
+            float4 _MainTex_TexelSize;
+
+            v2f vert(appdata v)
+            {
+                v2f o;
+                o.vertex = UnityObjectToClipPos(v.vertex);
+                o.uv = TRANSFORM_TEX(v.uv, _MainTex);
+
+                return o;
+            }
+
+            fixed4 frag(v2f i) : SV_Target
+            {
+                fixed4 col = tex2D(_MainTex, i.uv);
+                fixed4 col2 = tex2D(_MainTex, i.uv + fixed2(0, 1) * _MainTex_TexelSize.xy);
+                fixed4 col3 = tex2D(_MainTex, i.uv + fixed2(0, -1) * _MainTex_TexelSize.xy);
+                return (col + col2 + col3) / 3;
+            }
+            ENDCG
+        }
+         Pass
+        {
+            CGPROGRAM
+            #pragma vertex vert
+            #pragma fragment frag
+            #include "UnityCG.cginc"
+
+            struct appdata
+            {
+                float4 vertex : POSITION;
+                float2 uv : TEXCOORD0;
+            };
+
+            struct v2f
+            {
+                float2 uv : TEXCOORD0;
+                UNITY_FOG_COORDS(1)
+                float4 vertex : SV_POSITION;
+            };
+
+            sampler2D _MainTex;
+            float4 _MainTex_ST;
+            float4 _MainTex_TexelSize;
+
+            v2f vert(appdata v)
+            {
+                v2f o;
+                o.vertex = UnityObjectToClipPos(v.vertex);
+                o.uv = TRANSFORM_TEX(v.uv, _MainTex);
+
+                return o;
+            }
+
+            fixed4 frag(v2f i) : SV_Target
+            {
+                fixed4 col = tex2D(_MainTex, i.uv)*float4(0.5,0.5,0.5,1);
+                return col;
+            }
+            ENDCG
+        }
+    }
+}

+ 9 - 0
Assets/Resources/MoHu.shader.meta

@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: CSwasCP4V3pcSfI9vQhVR9POwRs6Hc+mO4GvUXy3HIQKQnyMfIdFX1iXjfdL
+ShaderImporter:
+  externalObjects: {}
+  defaultTextures: []
+  nonModifiableTextures: []
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 18 - 0
Assets/Scripts/Core/Pool/CObject/Entity.cs

@@ -430,6 +430,24 @@ namespace Fort23.Core
 
             return component as K;
         }
+        
+        
+        public Entity AddComponent< P1>(Type type1, P1 p1, bool isFromPool = false)
+        {
+            Type type = type1;
+            if (this._components != null && this._components.ContainsKey(type))
+            {
+                LogTool.Exception(new Exception($"entity already has component: {type.FullName}"));
+            }
+
+            Entity component = Create(type, isFromPool);
+            component.ID = this.ID;
+            component.ComponentParent = this;
+            EventSystem.Instance.Awake(component, new object[] {p1});
+            this.AddToComponent(type, component);
+
+            return component ;
+        }
 
         public K AddComponent<K, P1, P2>(P1 p1, P2 p2, bool isFromPool = false) where K : Entity, new()
         {

+ 210 - 7
Assets/Scripts/Core/UI/Core/UIManager.cs

@@ -67,7 +67,7 @@ namespace Fort23.Mono
         /// 所有top层ui
         /// </summary>
         public List<UIPanel> NoFocusTopUIPanels = new List<UIPanel>();
-        
+
         /// <summary>
         /// 弹窗ui
         /// </summary>
@@ -140,6 +140,9 @@ namespace Fort23.Mono
         /// </summary>
         public UIPanel LastUIPanel;
 
+
+        private Type BackgroundPanelType;
+
         [CustomMethod(CustomMethodType.Awake)]
         public async void Awake(Transform parent)
         {
@@ -173,6 +176,8 @@ namespace Fort23.Mono
                 UICamera = prefab.transform.GetComponentInChildren<Camera>();
             }
 
+            Assembly assembly = Assembly.Load("Fort23.Mono");
+            BackgroundPanelType = assembly.GetType(" Fort23.Mono.BackgroundPanel");
 
             // if (MaskWordData == null)
             // {
@@ -329,6 +334,157 @@ namespace Fort23.Mono
             _lastShowPanel.Clear();
         }
 
+        public async CTask<UIPanel> LoadAndOpenPanel(Type uipsnelType, Action<UIPanel> callback, UILayer layer = UILayer.Middle,
+            bool isFocus = true, object[] uiData = null, bool isShowBG = false, bool isFullUI = false,
+            bool isActiveAnima = true)
+        {
+            try
+            {
+                Type type;
+                current = EventSystem.current;
+
+                type = uipsnelType;
+                UIPanel uiPanel;
+                // 获取UI绑定属性
+                UIBindingAttribute uiBindingAttribute =
+                    type.GetCustomAttribute(typeof(UIBindingAttribute)) as UIBindingAttribute;
+                if (uiBindingAttribute == null)
+                {
+                    LogTool.Error($"类型{type.Name}没有添加UIBindingAttribute!");
+                    return null;
+                }
+
+
+                using (await CoroutineLockComponent.Instance.Wait(uiBindingAttribute.prefab))
+                {
+                    if (current != null)
+                    {
+                        // current.isClose = true;
+                    }
+
+
+                    // 不可以重复打开Panel,但是可以把上一个拿来使用。
+                    if (!Components.ContainsKey(type))
+                    {
+                        GameObject gameObjectPool = await FetchUI(uiBindingAttribute, GetLayer(layer));
+                        if (gameObjectPool == null)
+                            return null;
+                        uiPanel = AddComponent<GameObject>(type, gameObjectPool, false) as UIPanel;
+                        uiPanel.uiName = uiBindingAttribute.prefab;
+                        uiPanel.isFocus = isFocus;
+                        await uiPanel.SetUIGameObject(gameObjectPool);
+                        gameObjectPool.SetActive(false);
+                    }
+                    else
+                    {
+                        uiPanel = GetComponent(type) as UIPanel;
+                        if (uiPanel.DestroyTimerEntity != null)
+                        {
+                            TimerComponent.Instance.Remove(uiPanel.DestroyTimerEntity.ID);
+                            uiPanel.DestroyTimerEntity.Destroy();
+                        }
+
+                        destroyUI.Remove(uiBindingAttribute.prefab);
+                    }
+
+                    Assembly assembly = Assembly.Load("Fort23.Mono");
+                    Type combatPanel = assembly.GetType(" Fort23.Mono.CombatPanel");
+                    if (uiPanel.isAddStack && uiPanel.GetType() != combatPanel)
+                    {
+                        EventManager.Instance.Dispatch(CustomEventType.CancelEvent, null);
+                    }
+
+                    uiPanel.isFullUI = isFullUI;
+                    // 等待数据准备好才初始化UI
+                    if (await uiPanel.AsyncInit(uiData))
+                    {
+                        if (uiPanel.isAddStack)
+                        {
+                            if (uiPanel.IsBreadcrumbBarPanel) //打开界面之前判断是否已经在堆栈当中 如果是就移除此界面往后的堆栈 保持他时在堆栈的最上方
+                            {
+                                if (TopUIPanels.Contains(uiPanel))
+                                {
+                                    int index = TopUIPanels.IndexOf(uiPanel);
+                                    int count = TopUIPanels.Count - index;
+
+                                    for (int i = index + 1; i < TopUIPanels.Count; i++)
+                                    {
+                                        if (TopUIPanels[i].isShow)
+                                        {
+                                            HideUIUIPanel(TopUIPanels[i]);
+                                        }
+                                    }
+
+
+                                    TopUIPanels.RemoveRange(index, count);
+                                }
+                            }
+
+                            AddTopStack(uiPanel);
+                        }
+
+
+                        if (layer == UILayer.Top && !NoFocusTopUIPanels.Contains(uiPanel))
+                            NoFocusTopUIPanels.Add(uiPanel);
+                        uiPanel.isActiveAnima = isActiveAnima;
+                        await uiPanel.Open();
+                        AudioManager.Instance.PlayAudio("openui.wav");
+                        // if (currOpenPanel.add)
+                        // {
+                        //     currOpenPanel = uiPanel;
+                        // }
+
+                        if (current != null)
+                        {
+                            // current.isClose = false;
+                        }
+
+
+                        await TimerComponent.Instance.WaitAsync(1); //等待一帧 让渲染完成后在执行完成逻辑
+                        callback?.Invoke(uiPanel);
+
+
+                        RefreshFull();
+
+
+                        if (isShowBG)
+                        {
+                            uiPanel.IsShowCustomBGPanel = true;
+                            if (!AllShowBGUIs.Contains(uiPanel))
+                                AllShowBGUIs.Add(uiPanel);
+                            await GetBackgroundPanel(uiPanel, GetLayer(layer));
+                        }
+
+                        return uiPanel;
+                    }
+                    else
+                    {
+                        if (current != null)
+                        {
+                            // current.isClose = false;
+                        }
+
+                        // 界面数据没准备好,因此本次操作将被销毁
+                        LogTool.Log($"数据准备失败,请检查{type.Name}的Init方法中的逻辑");
+                        // ShowTips($"数据准备失败,请检查{buildType.Name}的Init方法中的逻辑");
+                        uiPanel.Close();
+                        return null;
+                    }
+                }
+            }
+            catch (Exception e)
+            {
+                if (current != null)
+                {
+                    // current.isClose = false;
+                }
+
+                LogTool.Error(uipsnelType.ToString() + "  " + e.Message);
+                LogTool.Exception(e);
+                return null;
+            }
+        }
+
         /// <summary>
         /// 用窗口打开某个界面(不可重复的预设,适用于一切带有关闭按钮的窗口UI) 
         /// </summary>
@@ -358,11 +514,8 @@ namespace Fort23.Mono
                 if (uiBindingAttribute == null)
                 {
                     LogTool.Error($"类型{type.Name}没有添加UIBindingAttribute!");
-                    // ShowTips($"类型{buildType.Name}没有添加UIBindingAttribute!");
                     return null;
                 }
-
-                // TDManager.Instance.PartCount(uiBindingAttribute.prefab);
                 // if (isFocus)
                 // {
                 //     if (currOpenPanel != null)
@@ -411,11 +564,12 @@ namespace Fort23.Mono
 
                         destroyUI.Remove(uiBindingAttribute.prefab);
                     }
+
                     Assembly assembly = Assembly.Load("Fort23.Mono");
                     Type combatPanel = assembly.GetType(" Fort23.Mono.CombatPanel");
                     if (uiPanel.isAddStack && uiPanel.GetType() != combatPanel)
                     {
-                        EventManager.Instance.Dispatch(CustomEventType.CancelEvent,null);
+                        EventManager.Instance.Dispatch(CustomEventType.CancelEvent, null);
                     }
 
                     uiPanel.isFullUI = isFullUI;
@@ -473,10 +627,11 @@ namespace Fort23.Mono
 
                         if (isShowBG)
                         {
+                            // await TimerComponent.Instance.WaitFrameAsync();
                             uiPanel.IsShowCustomBGPanel = true;
                             if (!AllShowBGUIs.Contains(uiPanel))
                                 AllShowBGUIs.Add(uiPanel);
-                            // await GetBackgroundPanel(uiPanel);
+                            await GetBackgroundPanel(uiPanel, GetLayer(layer));
                         }
 
                         return uiPanel;
@@ -874,7 +1029,7 @@ namespace Fort23.Mono
 
             if (uiPanel.IsShowCustomBGPanel) //如果是开了背景的界面关闭的时候将背景一起关闭
             {
-                // HideUIUIPanel(GetComponent<BackgroundPanel>(), UIDestroyType.NotDestroy);
+                HideUIUIPanel(GetComponent(BackgroundPanelType) as UIPanel, UIDestroyType.NotDestroy);
             }
             // CloseTopUI();
             // OpenTopUI();
@@ -1153,6 +1308,54 @@ namespace Fort23.Mono
             return number.ToString();
         }
 
+
+        /// <summary>
+        /// 获取背景
+        /// </summary>
+        /// <returns></returns>
+        public async CTask<UIPanel> GetBackgroundPanel(UIPanel uiPanel, Transform parent)
+        {
+            UIPanel popupPanel;
+            if (GetComponent(BackgroundPanelType) == null)
+            {
+                popupPanel = await LoadAndOpenPanel(BackgroundPanelType, null, UILayer.Top, false, isFullUI: true);
+            }
+            else
+            {
+                popupPanel = Instance.GetComponent(BackgroundPanelType) as UIPanel;
+            }
+            popupPanel.transform.SetParent(parent, false);
+            popupPanel.transform.SetAsFirstSibling();
+            int index01 = uiPanel.GObjectPoolInterface.transform.GetSiblingIndex();
+            // popupPanel.transform.SetParent(parent, false);
+          
+            popupPanel.transform.SetSiblingIndex(index01-1 );
+            await popupPanel.Open();
+
+            return popupPanel;
+        }
+
+        /// <summary>
+        /// 设置背景在需要显示背景的ui下面
+        /// </summary>
+        public async void SetBackgroundPanel(UIPanel uiBase)
+        {
+            if (AllShowBGUIs.Contains(uiBase))
+            {
+                AllShowBGUIs.Remove(uiBase);
+            }
+
+            for (int i = AllShowBGUIs.Count - 1; i >= 0; i--)
+            {
+                if (AllShowBGUIs[i].IsShowCustomBGPanel) //从后往前如果需要展示bg 就展示 否则将bg放到最上方需要展示的ui后面
+                {
+                    UIPanel popupPanel = await GetBackgroundPanel(AllShowBGUIs[i], AllShowBGUIs[i].transform.parent);
+
+                    break;
+                }
+            }
+        }
+
         /// <summary>
         /// 每日是否提醒标记
         /// </summary>

+ 2 - 2
Assets/Scripts/Core/UI/Core/UIPanel.cs

@@ -235,8 +235,8 @@ namespace Fort23.Mono
             Hide();
             IsClose = true;
             GObjectPoolInterface?.transform.SetSiblingIndex(0); //关闭界面的时候将他放在底部
-            // if (IsShowCustomBGPanel)
-            //     UIManager.Instance.SetBackgroundPanel(this);
+            if (IsShowCustomBGPanel)
+                UIManager.Instance.SetBackgroundPanel(this);
 
 
             if (this == UIManager.Instance.currOpenPanel)

+ 8 - 0
Assets/Scripts/Feature.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: XCtLvHz+Vn0BS/g+lcos6ML4s/9GcJb9a2ENzW+1D6Us2pMV19DLXVWmYtZs
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 21 - 0
Assets/Scripts/Feature/Feature.asmdef

@@ -0,0 +1,21 @@
+{
+    "name": "Feature",
+    "rootNamespace": "",
+    "references": [
+        "GUID:df380645f10b7bc4b97d4f5eb6303d95",
+        "GUID:86bc95e6fdb13ff43aa04316542905ae",
+        "GUID:ab67fb10353d84448ac887a7367cbda8",
+        "GUID:15fc0a57446b3144c949da3e2b9737a9",
+        "GUID:343deaaf83e0cee4ca978e7df0b80d21",
+        "GUID:2bafac87e7f4b9b418d9448d219b01ab"
+    ],
+    "includePlatforms": [],
+    "excludePlatforms": [],
+    "allowUnsafeCode": false,
+    "overrideReferences": false,
+    "precompiledReferences": [],
+    "autoReferenced": true,
+    "defineConstraints": [],
+    "versionDefines": [],
+    "noEngineReferences": false
+}

+ 7 - 0
Assets/Scripts/Feature/Feature.asmdef.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: CXsX5i37AXgvd/8zsOzUorpGLlpZB63IHw7BXMSqyGXfqK0iBMKZ01kiZq93
+AssemblyDefinitionImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/Scripts/GameUI/Feature.meta

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

+ 41 - 0
Assets/Scripts/GameUI/Feature/InterceptGameFaeture.cs

@@ -0,0 +1,41 @@
+using System.Collections;
+using System.Collections.Generic;
+using Fort23.Mono.Test;
+
+using UnityEngine;
+using UnityEngine.Rendering.Universal;
+using UnityEngine.Serialization;
+
+public class InterceptGameFaeture : ScriptableRendererFeature
+{
+   // public InterceptGamePass interceptGamePass;
+
+
+    // private RenderTargetHandle m_CameraColorAttachment;
+
+
+
+    // 屏幕拷贝Pass
+    private InterceptGamePass m_CopyTransparentColorPass;
+
+    public override void Create()
+    {
+        // 初始化构建屏幕拷贝Pass
+        m_CopyTransparentColorPass = new InterceptGamePass(RenderPassEvent.AfterRenderingTransparents);
+
+        // 映射到显存中的RT
+        // m_CameraColorAttachment.Init("_CameraColorTexture");
+
+    }
+
+    public override void AddRenderPasses(ScriptableRenderer renderer, ref RenderingData renderingData)
+    {
+        // Debug.Log("AddRenderPasses");
+        if (renderingData.cameraData.cameraType == CameraType.Game)
+        {
+            // Debug.Log("AddRenderPasses——Game");
+            m_CopyTransparentColorPass.Setup(renderer);
+            renderer.EnqueuePass(m_CopyTransparentColorPass);
+        }
+    }
+}

+ 11 - 0
Assets/Scripts/GameUI/Feature/InterceptGameFaeture.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: WXsWtCn4W39X5SKiV/Ae/s27G/6AsapXnzjOaQF+c+XZysdioiANbs8w0PPK
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 98 - 0
Assets/Scripts/GameUI/Feature/InterceptGamePass.cs

@@ -0,0 +1,98 @@
+
+using UnityEngine;
+using UnityEngine.Experimental.Rendering;
+using UnityEngine.Rendering;
+using UnityEngine.Rendering.Universal;
+using UnityEngine.Serialization;
+
+namespace Fort23.Mono.Test
+{
+    [System.Serializable]
+    public class InterceptGamePass : ScriptableRenderPass
+    {
+        private static bool isIntercept;
+
+        // private RenderTextureDescriptor RenderTextureDescriptor;
+        private static RenderTexture RenderTexture;
+
+
+        private const string m_ProfilerTag = "Intercept";
+
+        
+        public RenderTargetHandle m_Destination;
+
+        private static System.Action _finish;
+
+        private static int count;
+        private RenderTextureDescriptor cameraTextureDescriptor;
+        private static System.Action<ScriptableRenderContext, RenderingData, RenderTexture, RenderTargetIdentifier, RenderTextureDescriptor> OnExecuteCallBack;
+
+        private ScriptableRenderer renderer;
+        public static void SetRenderTexture(RenderTexture renderTexture, System.Action finish,
+            System.Action<ScriptableRenderContext, RenderingData, RenderTexture, RenderTargetIdentifier, RenderTextureDescriptor> executeCallBack = null)
+        {
+            // Debug.Log("开始准备背景界面");
+            // finish?.Invoke();
+            // return;
+            RenderTexture = renderTexture;
+            _finish+= finish;
+            isIntercept = true;
+            OnExecuteCallBack = executeCallBack;
+            count = 1;
+        }
+
+        public InterceptGamePass(RenderPassEvent evt)
+        {
+            renderPassEvent = evt;
+        }
+
+        public void Setup(ScriptableRenderer renderer)
+        {
+            this.renderer = renderer;
+        }
+
+        public override void Execute(ScriptableRenderContext context, ref RenderingData renderingData)
+        {
+            if (isIntercept)
+            {
+                // Debug.Log("执行背景背景界面");
+                count--;
+                // 执行拷贝命令
+                CommandBuffer cmd = CommandBufferPool.Get(m_ProfilerTag);
+                // var descriptor = RenderTextureDescriptor;
+                // descriptor.depthBufferBits = 0;
+                //
+                // RenderTargetIdentifier renderTargetIdentifier = new RenderTargetIdentifier(RenderTexture);
+                // m_Destination.Init(renderTargetIdentifier);
+                
+                cmd.Blit(renderer.cameraColorTargetHandle, RenderTexture);
+
+               
+                context.ExecuteCommandBuffer(cmd);
+                CommandBufferPool.Release(cmd);
+                OnExecuteCallBack?.Invoke(context, renderingData, RenderTexture, renderer.cameraColorTargetHandle, cameraTextureDescriptor);
+            }
+        }
+
+        public override void OnFinishCameraStackRendering(CommandBuffer cmd)
+        {
+            // if (m_Destination != RenderTargetHandle.CameraTarget)
+            // {
+            //     // m_Destination = RenderTargetHandle.CameraTarget;
+            // }
+
+            if (count <= 0&&isIntercept)
+            {
+                // Debug.Log("完成背景界面");
+                isIntercept = false;
+                _finish?.Invoke();
+                _finish = null;
+            }
+        }
+
+        public override void Configure(CommandBuffer cmd, RenderTextureDescriptor cameraTextureDescriptor)
+        {
+            this.cameraTextureDescriptor = cameraTextureDescriptor;
+        }
+    }
+}

+ 11 - 0
Assets/Scripts/GameUI/Feature/InterceptGamePass.cs.meta

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

+ 5 - 1
Assets/Scripts/GameUI/Fort23.Mono.asmdef

@@ -14,7 +14,11 @@
         "GUID:5efd170ecd8084500bed5692932fe14e",
         "GUID:4c25c05f410a3a447a75c3b0909152ef",
         "GUID:c03a7518d60db354c9d04ea9d1517aa1",
-        "GUID:8097be56b8f8a81458fa9b1971038cec"
+        "GUID:8097be56b8f8a81458fa9b1971038cec",
+        "GUID:15fc0a57446b3144c949da3e2b9737a9",
+        "GUID:ab67fb10353d84448ac887a7367cbda8",
+        "GUID:86bc95e6fdb13ff43aa04316542905ae",
+        "GUID:df380645f10b7bc4b97d4f5eb6303d95"
     ],
     "includePlatforms": [],
     "excludePlatforms": [],

+ 16 - 8
Assets/Scripts/GameUI/UI/AppBarPanel/AppBarPanel.cs

@@ -20,6 +20,8 @@ namespace Fort23.Mono
             isAddStack = false;
         }
 
+        private BackgroundCom _backgroundCom;
+
         protected override void AddEvent()
         {
             EventManager.Instance.AddEventListener(CustomEventType.DivineSensePointChange, DivineSensePointChange);
@@ -50,28 +52,34 @@ namespace Fort23.Mono
                 UIManager.Instance.HideUIUIPanel(currentOpenUIPanel);
                 // currentOpenUIPanel = null;
             });
-            Btn_Menu.onClick.AddListener(() =>
+            Btn_Menu.onClick.AddListener(async () =>
             {
+                _backgroundCom = await UIManager.Instance.CreateGComponent<BackgroundCom>(null, root: MenuBgRoot);
+
                 MenuRoot.SetActive(true);
             });
-            Btn_Back1.onClick.AddListener(() =>
-            {
-                MenuRoot.SetActive(false);
-            });
-            
+            Btn_Back1.onClick.AddListener(() => { CloseMenu(); });
+
             Btn_DaoYou.onClick.AddListener(() =>
             {
                 DaoYouPanel.OpenPanel();
-                MenuRoot.SetActive(false);
+                CloseMenu();
             });
 
             Btn_Tower.onClick.AddListener(() =>
             {
                 TowerPanel.OpenPanel(1);
-                MenuRoot.SetActive(false);
+                CloseMenu();
             });
         }
 
+        private void CloseMenu()
+        {
+            UIManager.Instance.DormancyGComponent(_backgroundCom);
+            _backgroundCom = null;
+            MenuRoot.SetActive(false);
+        }
+
         public async void Btn_Shop_Click()
         {
             if (currentOpenUIPanel is ShopPanel)

+ 11 - 0
Assets/Scripts/GameUI/UI/AppBarPanel/AppBarPanelData.cs

@@ -162,6 +162,17 @@ namespace Fort23.Mono
 	      return _Btn_DaoYou;
 	     }
 	   }
+	  private RectTransform _MenuBgRoot;
+	  public RectTransform MenuBgRoot
+	   {
+	   get{
+	      if (_MenuBgRoot == null)
+	       {
+	         _MenuBgRoot  = GetUIUnit<RectTransform>("MenuBgRoot"); 
+	       }
+	      return _MenuBgRoot;
+	     }
+	   }
 	  #endregion 自定义数据结束 
 	 public override async CTask SetUIGameObject(GameObject gObjectPoolInterface)
 	{

+ 172 - 0
Assets/Scripts/GameUI/UI/BackgroundCom.cs

@@ -0,0 +1,172 @@
+using Fort23.Core;
+using Fort23.Mono.Test;
+using Fort23.UTool;
+using UnityEngine;
+using UnityEngine.Rendering;
+using UnityEngine.Rendering.Universal;
+using UnityEngine.UI;
+namespace Fort23.Mono
+{
+    [UIBinding(prefab = "BackgroundCom")]
+    public partial class BackgroundCom : UIComponent
+    {
+        protected Material Material = new Material(Shader.Find("Unlit/MoHu"));
+        private void Init()
+        {
+            
+        }
+
+        public override void AddEvent()
+        {
+        }
+
+        public override void DelEvent()
+        {
+        }
+
+        public override void AddButtonEvent()
+        {
+        }
+        
+        
+
+        public async override CTask<bool> AsyncInit(object[] uiData)
+        {
+            ManualAsyncTask ct = ManualAsyncTask.Create();
+            if (GObjectPoolInterface != null)
+            {
+                GObjectPoolInterface.SetActive(false);
+            }
+            // var rect = panelObj.AddComponent<RectTransform>();
+          
+            UIManager.Instance.RefreshFull();
+            // Shader.SetGlobalTexture(CameraTransparentColorTexture, renderTexture);
+            InterceptGamePass.SetRenderTexture(renderTexture, delegate { ct.SetResult(); }, executeCallBack: Execute);
+            await ct.Wait();
+            RawImage.texture = renderTexture;
+            
+            RawImage.SetNativeSize();
+            TimerComponent.Instance.AddTimer(500, delegate
+            {
+                UIManager.Instance.RefreshFull();
+              
+          
+            });
+            await base.AsyncInit(uiData);
+            return true;
+        }
+
+        
+
+
+        private RenderTexture renderTexture
+        {
+            get
+            {
+                if (_renderTexture == null)
+                {
+                    _renderTexture = new RenderTexture(Screen.width, Screen.height, 0, RenderTextureFormat.Default);
+                }
+
+                return _renderTexture;
+            }
+        }
+
+        private RenderTexture _renderTexture;
+
+        public override void Show()
+        {
+            base.Show();
+            transform.anchorMin = Vector2.zero;
+            transform.anchorMax = Vector2.one;
+            CanvasScaler scaler=  transform.GetComponentInParent<CanvasScaler>();
+            RectTransform scalerTran=   scaler.GetComponent<RectTransform>();
+            transform.SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, scalerTran.sizeDelta.x);
+            transform.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, scalerTran.sizeDelta.y);
+        }
+
+        protected void Execute(ScriptableRenderContext context, RenderingData renderingData, RenderTexture renderTargetHandle, RenderTargetIdentifier source, RenderTextureDescriptor cameraTextureDescriptor)
+        {
+            if (Material == null)
+            {
+                Material = new Material(Shader.Find("Unlit/MoHu"));
+            }
+            // return;
+            LogTool.Log("回调背景图加载");
+            CommandBuffer cmd = CommandBufferPool.Get("background");
+            int w = cameraTextureDescriptor.width;
+            int h = cameraTextureDescriptor.height;
+            int randerIndex = -255;
+            RenderTargetIdentifier lasetIdentifier = default;
+            int lasetranderIndex = 10000;
+
+            for (int i = 0; i < 4; i++)
+            {
+                w /= 2;
+                h /= 2;
+                if (w <= 1 || h <= 1)
+                {
+                    break;
+                }
+            
+                int index =  Shader.PropertyToID("back_tu"+i);
+                // isTu1 = !isTu1;
+                cmd.GetTemporaryRT(index, w, h, 0, FilterMode.Bilinear, RenderTextureFormat.ARGB32);
+                RenderTargetIdentifier renderTargetIdentifier = new RenderTargetIdentifier(index);
+                if (lasetranderIndex != 10000)
+                {
+                    cmd.Blit(lasetIdentifier, renderTargetIdentifier, Material, 0);
+                    cmd.ReleaseTemporaryRT(lasetranderIndex);
+                }
+                else
+                {
+                    cmd.Blit(source, renderTargetIdentifier, Material, 0);
+                }
+            
+                lasetIdentifier = renderTargetIdentifier;
+                lasetranderIndex = index;
+                // break;
+            }
+            
+            for (int i = 0; i < 4; i++)
+            {
+                w *= 2;
+                h *= 2;
+                if (w > cameraTextureDescriptor.width || h > cameraTextureDescriptor.height)
+                {
+                    break;
+                }
+            
+                int index =  Shader.PropertyToID("back_fd"+i);
+                cmd.GetTemporaryRT(index, w, h, 0, FilterMode.Bilinear, RenderTextureFormat.ARGB32);
+                RenderTargetIdentifier renderTargetIdentifier = new RenderTargetIdentifier(index);
+                if (lasetranderIndex != 10000)
+                {
+                    cmd.Blit(lasetIdentifier, renderTargetIdentifier, Material, 1);
+                    cmd.ReleaseTemporaryRT(lasetranderIndex);
+                }
+            
+                lasetIdentifier = renderTargetIdentifier;
+                lasetranderIndex = index;
+                // break;
+            }
+
+
+            // int index = Shader.PropertyToID("back_tu");
+            // isTu1 = !isTu1;
+            // cmd.GetTemporaryRT(index, w, h, 0, FilterMode.Bilinear,
+            //     RenderTextureFormat.ARGB32);
+            // RenderTargetIdentifier renderTargetIdentifier = new RenderTargetIdentifier(index);
+            // cmd.Blit(source, renderTargetIdentifier,Material,0);
+            cmd.Blit(lasetIdentifier, renderTargetHandle,Material,2);
+            cmd.ReleaseTemporaryRT(lasetranderIndex);
+            context.ExecuteCommandBuffer(cmd);
+            CommandBufferPool.Release(cmd);
+        }
+
+        public override void Dispose()
+        {
+            base.Dispose();
+        }
+    }
+}

+ 11 - 0
Assets/Scripts/GameUI/UI/BackgroundCom.cs.meta

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

+ 29 - 0
Assets/Scripts/GameUI/UI/BackgroundComData.cs

@@ -0,0 +1,29 @@
+using Fort23.Core;
+using Fort23.UTool;
+using UnityEngine.UI;
+using UnityEngine;
+using System.Collections.Generic;
+namespace Fort23.Mono
+{
+	public partial class BackgroundCom 
+	{
+	  #region 自定义数据 
+	  private RawImage _RawImage;
+	  public RawImage RawImage
+	   {
+	   get{
+	      if (_RawImage == null)
+	       {
+	         _RawImage  = GetUIUnit<RawImage>("RawImage"); 
+	       }
+	      return _RawImage;
+	     }
+	   }
+	  #endregion 自定义数据结束 
+	 public override async CTask SetUIGameObject(GameObject gObjectPoolInterface)
+	{
+	 await base.SetUIGameObject(gObjectPoolInterface);
+	 Init();
+	}
+	}
+}

+ 11 - 0
Assets/Scripts/GameUI/UI/BackgroundComData.cs.meta

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

+ 8 - 0
Assets/Scripts/GameUI/UI/BackgroundPanel.meta

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

+ 244 - 0
Assets/Scripts/GameUI/UI/BackgroundPanel/BackgroundPanel.cs

@@ -0,0 +1,244 @@
+using Fort23.Core;
+using Fort23.Mono.Test;
+using Fort23.UTool;
+using UnityEngine;
+using UnityEngine.Events;
+using UnityEngine.Rendering;
+using UnityEngine.Rendering.Universal;
+
+namespace Fort23.Mono
+{
+    [UIBinding(prefab = "BackgroundPanel")]
+    public partial class BackgroundPanel : UIPanel
+    {
+        // public RawImage backImage;
+        public UnityAction callback;
+
+        protected Material Material;
+
+        /// <summary>
+        /// 是否激活背景开关
+        /// </summary>
+        public bool EnableBGBtn
+        {
+            get { return _enableBGBtn; }
+            set { _enableBGBtn = value; }
+        }
+
+        private bool _enableBGBtn = true;
+
+        public void Init()
+        {
+            isAddStack = false;
+            IsShowAppBar = false;
+        }
+
+        protected override void AddEvent()
+        {
+        }
+
+        private RenderTexture renderTexture
+        {
+            get
+            {
+                if (_renderTexture == null)
+                {
+                    _renderTexture = new RenderTexture(Screen.width, Screen.height, 0, RenderTextureFormat.Default);
+                }
+
+                return _renderTexture;
+            }
+        }
+
+        private RenderTexture _renderTexture;
+
+        public override CTask Show()
+        {
+            if (GObjectPoolInterface == null)
+            {
+                return null;
+            }
+
+            CTask cTask = CTask.Create();
+            _isShow = true;
+            GObjectPoolInterface.SetActive(true);
+            if (timerEntity != null)
+            {
+                TimerComponent.Instance.Remove(timerEntity);
+            }
+
+            if (openTimerEntity != null)
+            {
+                TimerComponent.Instance.Remove(openTimerEntity);
+            }
+
+
+            ShowAnimator();
+            cTask.SetResult();
+
+            return cTask;
+        }
+
+        protected override async CTask ProOpen()
+        {
+            ManualAsyncTask ct = ManualAsyncTask.Create();
+            // if (GObjectPoolInterface != null)
+            // {
+            //     GObjectPoolInterface.SetActive(false);
+            // }
+
+            IsClose = true;
+            isFullUI = true;
+            UIManager.Instance.RefreshFull();
+            IsClose = false;
+            // Shader.SetGlobalTexture(CameraTransparentColorTexture, renderTexture);
+            InterceptGamePass.SetRenderTexture(renderTexture, delegate { ct.SetResult(); }, executeCallBack: Execute);
+            await ct.Wait();
+            LogTool.Log("完成背景图加载");
+            if (RawImage.texture != renderTexture)
+            {
+                RawImage.texture = renderTexture;
+            }
+
+            if (GObjectPoolInterface != null)
+            {
+                GObjectPoolInterface.SetActive(true);
+            }
+
+            UIManager.Instance.RefreshFull();
+            // TimerComponent.Instance.AddTimer(500, delegate { UIManager.Instance.RefreshFull(); });
+        }
+
+        protected void Execute(ScriptableRenderContext context, RenderingData renderingData,
+            RenderTexture renderTargetHandle, RenderTargetIdentifier source,
+            RenderTextureDescriptor cameraTextureDescriptor)
+        {
+            if (Material == null)
+            {
+                Material = new Material(Shader.Find("Unlit/MoHu"));
+            }
+
+            // return;
+            // LogTool.Log("回调背景图加载");
+            CommandBuffer cmd = CommandBufferPool.Get("background");
+            int w = cameraTextureDescriptor.width;
+            int h = cameraTextureDescriptor.height;
+            int randerIndex = -255;
+            RenderTargetIdentifier lasetIdentifier = default;
+            int lasetranderIndex = 10000;
+
+            for (int i = 0; i < 4; i++)
+            {
+                w /= 2;
+                h /= 2;
+                if (w <= 1 || h <= 1)
+                {
+                    break;
+                }
+
+                int index = Shader.PropertyToID("back_tu" + i);
+                // isTu1 = !isTu1;
+                cmd.GetTemporaryRT(index, w, h, 0, FilterMode.Bilinear, RenderTextureFormat.ARGB32);
+                RenderTargetIdentifier renderTargetIdentifier = new RenderTargetIdentifier(index);
+                if (lasetranderIndex != 10000)
+                {
+                    cmd.Blit(lasetIdentifier, renderTargetIdentifier, Material, 0);
+                    cmd.ReleaseTemporaryRT(lasetranderIndex);
+                }
+                else
+                {
+                    cmd.Blit(source, renderTargetIdentifier, Material, 0);
+                }
+
+                lasetIdentifier = renderTargetIdentifier;
+                lasetranderIndex = index;
+            }
+
+            for (int i = 0; i < 4; i++)
+            {
+                w *= 2;
+                h *= 2;
+                if (w > cameraTextureDescriptor.width || h > cameraTextureDescriptor.height)
+                {
+                    break;
+                }
+
+                int index = Shader.PropertyToID("back_fd" + i);
+                cmd.GetTemporaryRT(index, w, h, 0, FilterMode.Bilinear, RenderTextureFormat.ARGB32);
+                RenderTargetIdentifier renderTargetIdentifier = new RenderTargetIdentifier(index);
+                if (lasetranderIndex != 10000)
+                {
+                    cmd.Blit(lasetIdentifier, renderTargetIdentifier, Material, 1);
+                    cmd.ReleaseTemporaryRT(lasetranderIndex);
+                }
+
+                lasetIdentifier = renderTargetIdentifier;
+                lasetranderIndex = index;
+            }
+
+
+            // int index = Shader.PropertyToID("back_tu");
+            // isTu1 = !isTu1;
+            // cmd.GetTemporaryRT(index, w, h, 0, FilterMode.Bilinear,
+            //     RenderTextureFormat.ARGB32);
+            // RenderTargetIdentifier renderTargetIdentifier = new RenderTargetIdentifier(index);
+            // cmd.Blit(source, renderTargetIdentifier,Material,0);
+            cmd.Blit(lasetIdentifier, renderTargetHandle, Material, 2);
+            cmd.ReleaseTemporaryRT(lasetranderIndex);
+            context.ExecuteCommandBuffer(cmd);
+            CommandBufferPool.Release(cmd);
+        }
+
+
+        /// <summary>
+        /// 关闭当前有背景的面板
+        /// </summary>
+        public void CloseTopPanel()
+        {
+            if (!EnableBGBtn)
+            {
+                return;
+            }
+
+            if (UIManager.Instance.AllShowBGUIs.Count > 0 && UIManager.Instance.AllShowBGUIs[^1] != null)
+            {
+                UIPanel uiPanel = UIManager.Instance.AllShowBGUIs[^1];
+                if (!uiPanel.IsHindBackground())
+                {
+                    return;
+                }
+            }
+
+            UnityAction action = callback;
+            callback = null;
+            if (action != null)
+                action?.Invoke();
+            Close();
+            if (UIManager.Instance.AllShowBGUIs.Count > 0 && UIManager.Instance.AllShowBGUIs[^1] != null)
+            {
+                UIPanel uiPanel = UIManager.Instance.AllShowBGUIs[^1];
+                uiPanel.BackgroundCallBack();
+                UIManager.Instance.HideUIUIPanel(uiPanel);
+            }
+        }
+
+        public override void AddButtonEvent()
+        {
+            Btn_BG.onClick.AddListener(CloseTopPanel);
+        }
+
+        public void CustomInit()
+        {
+        }
+
+        protected override void DelEvent()
+        {
+        }
+
+        public override void Close()
+        {
+            EnableBGBtn = true;
+            base.Close();
+        }
+    }
+}

+ 11 - 0
Assets/Scripts/GameUI/UI/BackgroundPanel/BackgroundPanel.cs.meta

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

+ 40 - 0
Assets/Scripts/GameUI/UI/BackgroundPanel/BackgroundPanelData.cs

@@ -0,0 +1,40 @@
+using Fort23.Core;
+using Fort23.UTool;
+using UnityEngine.UI;
+using UnityEngine;
+using System.Collections.Generic;
+namespace Fort23.Mono
+{
+	public partial class BackgroundPanel 
+	{
+	  #region 自定义数据 
+	  private Button _Btn_BG;
+	  public Button Btn_BG
+	   {
+	   get{
+	      if (_Btn_BG == null)
+	       {
+	         _Btn_BG  = GetUIUnit<Button>("Btn_BG"); 
+	       }
+	      return _Btn_BG;
+	     }
+	   }
+	  private RawImage _RawImage;
+	  public RawImage RawImage
+	   {
+	   get{
+	      if (_RawImage == null)
+	       {
+	         _RawImage  = GetUIUnit<RawImage>("RawImage"); 
+	       }
+	      return _RawImage;
+	     }
+	   }
+	  #endregion 自定义数据结束 
+	 public override async CTask SetUIGameObject(GameObject gObjectPoolInterface)
+	{
+	 await base.SetUIGameObject(gObjectPoolInterface);
+	 Init();
+	}
+	}
+}

+ 11 - 0
Assets/Scripts/GameUI/UI/BackgroundPanel/BackgroundPanelData.cs.meta

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

+ 3 - 3
Assets/Scripts/GameUI/UI/BoxPanel/BoxPanel.cs

@@ -77,19 +77,19 @@ namespace Fort23.Mono
 
         public static async void OpenBoxPanel()
         {
-            BoxPanel boxPanel = await UIManager.Instance.LoadAndOpenPanel<BoxPanel>(null, layer: UILayer.Middle);
+            BoxPanel boxPanel = await UIManager.Instance.LoadAndOpenPanel<BoxPanel>(null, layer: UILayer.Middle,isShowBG:true);
             boxPanel.OpenPanel();
         }
 
         private void Init()
         {
             isAddStack = true;
-            // IsShowAppBar = false;
+            IsShowAppBar = false;
         }
 
         public override CTask GetFocus()
         {
-            AppBarPanel.ClosePanel();
+            // AppBarPanel.ClosePanel();
             return base.GetFocus();
         }
 

+ 1 - 1
Assets/Scripts/GameUI/UI/DivineSence/BossInfoPanel.cs

@@ -218,7 +218,7 @@ namespace Fort23.Mono
         public async static CTask<bool> OpenPanel(int levebattleId)
         {
             CTask<bool> result = CTask<bool>.Create();
-            BossInfoPanel bossInfoPanel = await UIManager.Instance.LoadAndOpenPanel<BossInfoPanel>(null, UILayer.Top, uiData: new object[] { levebattleId, result });
+            BossInfoPanel bossInfoPanel = await UIManager.Instance.LoadAndOpenPanel<BossInfoPanel>(null, UILayer.Top, uiData: new object[] { levebattleId, result },isShowBG:true);
             // bossInfoPanel.CustomInit(levebattleId, result);
             return await result;
         }

+ 1 - 1
Assets/Scripts/GameUI/UI/DivineSence/EventTipsPanel.cs

@@ -75,7 +75,7 @@ namespace Fort23.Mono
         public static async CTask<bool> OpenPanel(AccountFileInfo.EventLinkData eventLinkData)
         {
             CTask<bool> callBack = CTask<bool>.Create();
-            await UIManager.Instance.LoadAndOpenPanel<EventTipsPanel>(null, UILayer.Top, uiData: new object[] { eventLinkData, callBack });
+            await UIManager.Instance.LoadAndOpenPanel<EventTipsPanel>(null, UILayer.Top, uiData: new object[] { eventLinkData, callBack },isShowBG:true);
             return await callBack;
         }
 

+ 1 - 1
Assets/Scripts/GameUI/UI/ItemDetailsPanel/ItemDetailsPanel.cs

@@ -69,7 +69,7 @@ namespace Fort23.Mono
 
         public static async CTask OpenPanel(ItemInfo itemInfo)
         {
-            await UIManager.Instance.LoadAndOpenPanel<ItemDetailsPanel>(null,UILayer.Top, uiData: new object[] { itemInfo });
+            await UIManager.Instance.LoadAndOpenPanel<ItemDetailsPanel>(null,UILayer.Top, uiData: new object[] { itemInfo },isShowBG:true);
         }
 
         public override void Close()

+ 1 - 1
Assets/Scripts/GameUI/UI/QiankundaiPanel/QiankundaiInfoPanel.cs

@@ -84,7 +84,7 @@ namespace Fort23.Mono
 
         public static async CTask OpenPanel()
         {
-            await UIManager.Instance.LoadAndOpenPanel<QiankundaiInfoPanel>(null, UILayer.Top);
+            await UIManager.Instance.LoadAndOpenPanel<QiankundaiInfoPanel>(null, UILayer.Top,isShowBG:true);
         }
 
         public override void Close()

+ 1 - 1
Assets/Scripts/GameUI/UI/QiankundaiPanel/QiankundaiPanel.cs

@@ -99,7 +99,7 @@ namespace Fort23.Mono
 
         public static async CTask OpenPanel()
         {
-            await UIManager.Instance.LoadAndOpenPanel<QiankundaiPanel>(null, UILayer.Top);
+            await UIManager.Instance.LoadAndOpenPanel<QiankundaiPanel>(null, UILayer.Top,isShowBG:true);
         }
 
         public override void Close()

+ 2 - 2
Assets/Scripts/GameUI/UI/RewardsPanel/RewardsPanel.cs

@@ -78,14 +78,14 @@ namespace Fort23.Mono
 
         public async static CTask<RewardsPanel> OpenPanel(Dictionary<string, ItemInfo> rewardsDic, Action onClose = null)
         {
-            RewardsPanel rewardsPanel = await UIManager.Instance.LoadAndOpenPanel<RewardsPanel>(null, layer: UILayer.Top);
+            RewardsPanel rewardsPanel = await UIManager.Instance.LoadAndOpenPanel<RewardsPanel>(null, layer: UILayer.Top,isShowBG:true);
             rewardsPanel.InitRewardsPanel(rewardsDic, onClose);
             return rewardsPanel;
         }
 
         public async static CTask<RewardsPanel> OpenPanel(List<ItemInfo> rewardsDic, Action onClose = null, int titleId = 0)
         {
-            RewardsPanel rewardsPanel = await UIManager.Instance.LoadAndOpenPanel<RewardsPanel>(null, layer: UILayer.Top);
+            RewardsPanel rewardsPanel = await UIManager.Instance.LoadAndOpenPanel<RewardsPanel>(null, layer: UILayer.Top,isShowBG:true);
             rewardsPanel.InitRewardsPanel(rewardsDic, onClose);
             if (titleId != 0)
                 rewardsPanel.SetTitle(LanguageManager.Instance.Text(titleId));

+ 1 - 1
Assets/Scripts/GameUI/UI/Task/TaskInfoPanel.cs

@@ -116,7 +116,7 @@ namespace Fort23.Mono
 
         public async static CTask<TaskInfoPanel> OpenPanel(AccountFileInfo.EventList eventList, int type)
         {
-            TaskInfoPanel taskInfoPanel = await UIManager.Instance.LoadAndOpenPanel<TaskInfoPanel>(null, UILayer.Top);
+            TaskInfoPanel taskInfoPanel = await UIManager.Instance.LoadAndOpenPanel<TaskInfoPanel>(null, UILayer.Top,isShowBG:true);
             taskInfoPanel.CustomInit(eventList, type);
             return taskInfoPanel;
         }

+ 15 - 1
Assets/Settings/rpAsset_Renderer.asset

@@ -52,7 +52,8 @@ MonoBehaviour:
   - {fileID: 8096991511476621891}
   - {fileID: -1306005803540324591}
   - {fileID: -3260757889090043925}
-  m_RendererFeatureMap: 43d2ea46e14a5e70115f6125a422e0edeb3f3ce2f975bfd2
+  - {fileID: 5558826321195499833}
+  m_RendererFeatureMap: 43d2ea46e14a5e70115f6125a422e0edeb3f3ce2f975bfd23901f35216eb244d
   m_UseNativeRenderPass: 0
   postProcessData: {fileID: 11400000, guid: 41439944d30ece34e96484bdb6645b55, type: 2}
   xrSystemData: {fileID: 11400000, guid: 60e1133243b97e347b653163a8c01b64, type: 2}
@@ -92,6 +93,19 @@ MonoBehaviour:
   m_CopyDepthMode: 1
   m_AccurateGbufferNormals: 0
   m_IntermediateTextureMode: 1
+--- !u!114 &5558826321195499833
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: f1913e8483d33ab43bf9d65b9f38c99b, type: 3}
+  m_Name: InterceptGameFaeture
+  m_EditorClassIdentifier: 
+  m_Active: 1
 --- !u!114 &8096991511476621891
 MonoBehaviour:
   m_ObjectHideFlags: 0

文件差异内容过多而无法显示
+ 0 - 0
Assets/StreamingAssets/assetConfig.txt


部分文件因为文件数量过多而无法显示