diff --git a/Assets/AddressableAssetsData/Windows/addressables_content_state.bin b/Assets/AddressableAssetsData/Windows/addressables_content_state.bin
index a845ba388..3185a9e1f 100644
Binary files a/Assets/AddressableAssetsData/Windows/addressables_content_state.bin and b/Assets/AddressableAssetsData/Windows/addressables_content_state.bin differ
diff --git a/Assets/Art/XJMH/pw/pw_prefab/game/effect/PW_Effect_Appear_Prop.prefab b/Assets/Art/XJMH/pw/pw_prefab/game/effect/PW_Effect_Appear_Prop.prefab
index 6a8349e1a..a745dbb73 100644
--- a/Assets/Art/XJMH/pw/pw_prefab/game/effect/PW_Effect_Appear_Prop.prefab
+++ b/Assets/Art/XJMH/pw/pw_prefab/game/effect/PW_Effect_Appear_Prop.prefab
@@ -11,7 +11,7 @@ GameObject:
- component: {fileID: 224636888996303129}
- component: {fileID: 222953972021046440}
- component: {fileID: 8232466264434210663}
- m_Layer: 0
+ m_Layer: 5
m_Name: Text
m_TagString: Untagged
m_Icon: {fileID: 0}
@@ -86,7 +86,7 @@ GameObject:
- component: {fileID: 224170573743937139}
- component: {fileID: 222774089246940628}
- component: {fileID: 3727069346516978727}
- m_Layer: 0
+ m_Layer: 5
m_Name: Bg
m_TagString: Untagged
m_Icon: {fileID: 0}
@@ -160,7 +160,7 @@ GameObject:
m_Component:
- component: {fileID: 224064349272752296}
- component: {fileID: 223021561098738213}
- m_Layer: 0
+ m_Layer: 5
m_Name: PW_Effect_Appear_Prop
m_TagString: Untagged
m_Icon: {fileID: 0}
@@ -223,7 +223,7 @@ GameObject:
- component: {fileID: 224106796519603091}
- component: {fileID: 222588606521285762}
- component: {fileID: 8169017411909069598}
- m_Layer: 0
+ m_Layer: 5
m_Name: Icon
m_TagString: Untagged
m_Icon: {fileID: 0}
diff --git a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_1.prefab b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_1.prefab
index 8214646ed..a430518b7 100644
--- a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_1.prefab
+++ b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_1.prefab
@@ -278,10 +278,13 @@ MonoBehaviour:
yzID:
colliderList: []
lockPoint: {fileID: 0}
- bingDongEffect: {fileID: 0}
+ bingDongEffect:
+ - {fileID: 0}
needLockEvent: 0
createVideoClip: {fileID: 0}
rotationPY: 0
+ useMirrorCompensate: 1
+ useRouteFlipX: 0
baseMmove: 0
isRotate: 1
isNot1: 0
diff --git a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_101.prefab b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_101.prefab
index 15d0ea5c4..7df71918b 100644
--- a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_101.prefab
+++ b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_101.prefab
@@ -5198,10 +5198,13 @@ MonoBehaviour:
yzID:
colliderList: []
lockPoint: {fileID: 0}
- bingDongEffect: {fileID: 0}
+ bingDongEffect:
+ - {fileID: 0}
needLockEvent: 0
createVideoClip: {fileID: 0}
rotationPY: 60
+ useMirrorCompensate: 1
+ useRouteFlipX: 0
baseMmove: 0
isRotate: 1
isNot1: 0
diff --git a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_102.prefab b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_102.prefab
index 424abbc47..fdd089135 100644
--- a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_102.prefab
+++ b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_102.prefab
@@ -2618,10 +2618,13 @@ MonoBehaviour:
yzID:
colliderList: []
lockPoint: {fileID: 0}
- bingDongEffect: {fileID: 0}
+ bingDongEffect:
+ - {fileID: 0}
needLockEvent: 0
createVideoClip: {fileID: 0}
rotationPY: 60
+ useMirrorCompensate: 1
+ useRouteFlipX: 0
baseMmove: 0
isRotate: 1
isNot1: 0
diff --git a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_103.prefab b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_103.prefab
index a5389d0b6..8a755aa1c 100644
--- a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_103.prefab
+++ b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_103.prefab
@@ -88,10 +88,13 @@ MonoBehaviour:
yzID:
colliderList: []
lockPoint: {fileID: 0}
- bingDongEffect: {fileID: 0}
+ bingDongEffect:
+ - {fileID: 0}
needLockEvent: 0
createVideoClip: {fileID: 0}
rotationPY: 60
+ useMirrorCompensate: 1
+ useRouteFlipX: 0
baseMmove: 0
isRotate: 1
isNot1: 0
diff --git a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_104.prefab b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_104.prefab
index 19ac1d989..f7b2c12ba 100644
--- a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_104.prefab
+++ b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_104.prefab
@@ -212,10 +212,13 @@ MonoBehaviour:
yzID:
colliderList: []
lockPoint: {fileID: 0}
- bingDongEffect: {fileID: 0}
+ bingDongEffect:
+ - {fileID: 0}
needLockEvent: 0
createVideoClip: {fileID: 0}
rotationPY: 60
+ useMirrorCompensate: 1
+ useRouteFlipX: 0
baseMmove: 0
isRotate: 1
isNot1: 0
diff --git a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_105.prefab b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_105.prefab
index d3c51d2d2..78a927b51 100644
--- a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_105.prefab
+++ b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_105.prefab
@@ -316,10 +316,13 @@ MonoBehaviour:
yzID:
colliderList: []
lockPoint: {fileID: 0}
- bingDongEffect: {fileID: 0}
+ bingDongEffect:
+ - {fileID: 0}
needLockEvent: 0
createVideoClip: {fileID: 0}
rotationPY: 60
+ useMirrorCompensate: 1
+ useRouteFlipX: 0
baseMmove: 0
isRotate: 1
isNot1: 0
diff --git a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_106.prefab b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_106.prefab
index db5199430..f308cb545 100644
--- a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_106.prefab
+++ b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_106.prefab
@@ -277,10 +277,13 @@ MonoBehaviour:
yzID:
colliderList: []
lockPoint: {fileID: 0}
- bingDongEffect: {fileID: 0}
+ bingDongEffect:
+ - {fileID: 0}
needLockEvent: 0
createVideoClip: {fileID: 0}
rotationPY: 60
+ useMirrorCompensate: 1
+ useRouteFlipX: 0
baseMmove: 0
isRotate: 1
isNot1: 0
diff --git a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_107.prefab b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_107.prefab
index d064fd06c..3bbdc5502 100644
--- a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_107.prefab
+++ b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_107.prefab
@@ -88,10 +88,13 @@ MonoBehaviour:
yzID:
colliderList: []
lockPoint: {fileID: 0}
- bingDongEffect: {fileID: 0}
+ bingDongEffect:
+ - {fileID: 0}
needLockEvent: 0
createVideoClip: {fileID: 0}
rotationPY: 60
+ useMirrorCompensate: 1
+ useRouteFlipX: 0
baseMmove: 0
isRotate: 1
isNot1: 0
diff --git a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_108.prefab b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_108.prefab
index 6c9f14abe..5fc1e019d 100644
--- a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_108.prefab
+++ b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_108.prefab
@@ -88,10 +88,13 @@ MonoBehaviour:
yzID:
colliderList: []
lockPoint: {fileID: 0}
- bingDongEffect: {fileID: 0}
+ bingDongEffect:
+ - {fileID: 0}
needLockEvent: 0
createVideoClip: {fileID: 0}
rotationPY: 60
+ useMirrorCompensate: 1
+ useRouteFlipX: 0
baseMmove: 0
isRotate: 1
isNot1: 0
diff --git a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_109.prefab b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_109.prefab
index 377cefe92..ca9820f5e 100644
--- a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_109.prefab
+++ b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_109.prefab
@@ -122,10 +122,13 @@ MonoBehaviour:
yzID:
colliderList: []
lockPoint: {fileID: 0}
- bingDongEffect: {fileID: 0}
+ bingDongEffect:
+ - {fileID: 0}
needLockEvent: 0
createVideoClip: {fileID: 0}
rotationPY: 60
+ useMirrorCompensate: 1
+ useRouteFlipX: 0
baseMmove: 0
isRotate: 1
isNot1: 0
diff --git a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_110.prefab b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_110.prefab
index 638ae395c..05763ab9b 100644
--- a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_110.prefab
+++ b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_110.prefab
@@ -4861,10 +4861,13 @@ MonoBehaviour:
yzID:
colliderList: []
lockPoint: {fileID: 0}
- bingDongEffect: {fileID: 0}
+ bingDongEffect:
+ - {fileID: 0}
needLockEvent: 0
createVideoClip: {fileID: 0}
rotationPY: 60
+ useMirrorCompensate: 1
+ useRouteFlipX: 0
baseMmove: 0
isRotate: 1
isNot1: 0
diff --git a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_111.prefab b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_111.prefab
index 4f873fcbb..2f8fccefa 100644
--- a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_111.prefab
+++ b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_111.prefab
@@ -2549,10 +2549,13 @@ MonoBehaviour:
yzID:
colliderList: []
lockPoint: {fileID: 0}
- bingDongEffect: {fileID: 0}
+ bingDongEffect:
+ - {fileID: 0}
needLockEvent: 0
createVideoClip: {fileID: 0}
rotationPY: 60
+ useMirrorCompensate: 1
+ useRouteFlipX: 0
baseMmove: 0
isRotate: 1
isNot1: 0
diff --git a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_2.prefab b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_2.prefab
index 94c37e4f1..e13a3b0d7 100644
--- a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_2.prefab
+++ b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_2.prefab
@@ -193,10 +193,13 @@ MonoBehaviour:
yzID:
colliderList: []
lockPoint: {fileID: 0}
- bingDongEffect: {fileID: 0}
+ bingDongEffect:
+ - {fileID: 0}
needLockEvent: 0
createVideoClip: {fileID: 0}
rotationPY: 0
+ useMirrorCompensate: 1
+ useRouteFlipX: 0
baseMmove: 0
isRotate: 1
isNot1: 0
diff --git a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_3.prefab b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_3.prefab
index 283675b1b..cfdc88563 100644
--- a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_3.prefab
+++ b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_3.prefab
@@ -88,10 +88,13 @@ MonoBehaviour:
yzID:
colliderList: []
lockPoint: {fileID: 0}
- bingDongEffect: {fileID: 0}
+ bingDongEffect:
+ - {fileID: 0}
needLockEvent: 0
createVideoClip: {fileID: 0}
rotationPY: 0
+ useMirrorCompensate: 1
+ useRouteFlipX: 0
baseMmove: 0
isRotate: 1
isNot1: 0
diff --git a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_31.prefab b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_31.prefab
index fa4ca5ae1..9ed2d758e 100644
--- a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_31.prefab
+++ b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_31.prefab
@@ -5031,10 +5031,13 @@ MonoBehaviour:
yzID:
colliderList: []
lockPoint: {fileID: 0}
- bingDongEffect: {fileID: 0}
+ bingDongEffect:
+ - {fileID: 0}
needLockEvent: 0
createVideoClip: {fileID: 0}
rotationPY: 0
+ useMirrorCompensate: 1
+ useRouteFlipX: 0
baseMmove: 0
isRotate: 1
isNot1: 0
diff --git a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_32.prefab b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_32.prefab
index 376f682aa..e709c1683 100644
--- a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_32.prefab
+++ b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_32.prefab
@@ -2446,10 +2446,13 @@ MonoBehaviour:
yzID:
colliderList: []
lockPoint: {fileID: 0}
- bingDongEffect: {fileID: 0}
+ bingDongEffect:
+ - {fileID: 0}
needLockEvent: 0
createVideoClip: {fileID: 0}
rotationPY: 0
+ useMirrorCompensate: 1
+ useRouteFlipX: 0
baseMmove: 0
isRotate: 1
isNot1: 0
diff --git a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_4.prefab b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_4.prefab
index 729d538b1..5ff71c857 100644
--- a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_4.prefab
+++ b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_4.prefab
@@ -193,10 +193,13 @@ MonoBehaviour:
yzID:
colliderList: []
lockPoint: {fileID: 0}
- bingDongEffect: {fileID: 0}
+ bingDongEffect:
+ - {fileID: 0}
needLockEvent: 0
createVideoClip: {fileID: 0}
rotationPY: 0
+ useMirrorCompensate: 1
+ useRouteFlipX: 0
baseMmove: 0
isRotate: 1
isNot1: 0
diff --git a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_5.prefab b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_5.prefab
index ef295b566..db21790e9 100644
--- a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_5.prefab
+++ b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_5.prefab
@@ -193,10 +193,13 @@ MonoBehaviour:
yzID:
colliderList: []
lockPoint: {fileID: 0}
- bingDongEffect: {fileID: 0}
+ bingDongEffect:
+ - {fileID: 0}
needLockEvent: 0
createVideoClip: {fileID: 0}
rotationPY: 0
+ useMirrorCompensate: 1
+ useRouteFlipX: 0
baseMmove: 0
isRotate: 1
isNot1: 0
diff --git a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_6.prefab b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_6.prefab
index 49babb221..b4c390d92 100644
--- a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_6.prefab
+++ b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_6.prefab
@@ -173,10 +173,13 @@ MonoBehaviour:
yzID:
colliderList: []
lockPoint: {fileID: 0}
- bingDongEffect: {fileID: 0}
+ bingDongEffect:
+ - {fileID: 0}
needLockEvent: 0
createVideoClip: {fileID: 0}
rotationPY: 0
+ useMirrorCompensate: 1
+ useRouteFlipX: 0
baseMmove: 0
isRotate: 1
isNot1: 0
diff --git a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_7.prefab b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_7.prefab
index 5b7aab229..a7a8a9512 100644
--- a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_7.prefab
+++ b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_7.prefab
@@ -88,10 +88,13 @@ MonoBehaviour:
yzID:
colliderList: []
lockPoint: {fileID: 0}
- bingDongEffect: {fileID: 0}
+ bingDongEffect:
+ - {fileID: 0}
needLockEvent: 0
createVideoClip: {fileID: 0}
rotationPY: 0
+ useMirrorCompensate: 1
+ useRouteFlipX: 0
baseMmove: 0
isRotate: 1
isNot1: 0
diff --git a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_8.prefab b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_8.prefab
index 855bf4332..7e560500c 100644
--- a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_8.prefab
+++ b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_8.prefab
@@ -278,10 +278,13 @@ MonoBehaviour:
yzID:
colliderList: []
lockPoint: {fileID: 0}
- bingDongEffect: {fileID: 0}
+ bingDongEffect:
+ - {fileID: 0}
needLockEvent: 0
createVideoClip: {fileID: 0}
rotationPY: 0
+ useMirrorCompensate: 1
+ useRouteFlipX: 0
baseMmove: 0
isRotate: 1
isNot1: 0
diff --git a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_9.prefab b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_9.prefab
index 5e36c32da..f0d78a300 100644
--- a/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_9.prefab
+++ b/Assets/Art/XJMH/pw/pw_prefab/game/enemy/XJMHEnemy/PW_Enemy_9.prefab
@@ -2591,10 +2591,13 @@ MonoBehaviour:
yzID:
colliderList: []
lockPoint: {fileID: 0}
- bingDongEffect: {fileID: 0}
+ bingDongEffect:
+ - {fileID: 0}
needLockEvent: 0
createVideoClip: {fileID: 0}
rotationPY: 0
+ useMirrorCompensate: 1
+ useRouteFlipX: 0
baseMmove: 0
isRotate: 1
isNot1: 0
diff --git a/Assets/MyGame/Scenes/UIScene.unity b/Assets/MyGame/Scenes/UIScene.unity
index 94c31220c..1ba6aefb1 100644
--- a/Assets/MyGame/Scenes/UIScene.unity
+++ b/Assets/MyGame/Scenes/UIScene.unity
@@ -7416,7 +7416,7 @@ MonoBehaviour:
spawnList: []
isCreateFish: 0
isFrozen: 0
- debugSpawnFishNumber: 11028
+ debugSpawnFishNumber: 12029
isleft: 1
fishList_All: []
fishList_Small: []
diff --git a/Assets/MyGame/aa/Game/Prop/YuLei/97/Image Variant 1.prefab b/Assets/MyGame/aa/Game/Prop/YuLei/97/Image Variant 1.prefab
index a758e7599..0d739b47d 100644
--- a/Assets/MyGame/aa/Game/Prop/YuLei/97/Image Variant 1.prefab
+++ b/Assets/MyGame/aa/Game/Prop/YuLei/97/Image Variant 1.prefab
@@ -18,7 +18,7 @@ PrefabInstance:
type: 3}
propertyPath: m_Sprite
value:
- objectReference: {fileID: 21300000, guid: 75a25856dbda8fc409afbb246779a6fb,
+ objectReference: {fileID: 21300000, guid: bab1afd7785a3ed41a63c0a0a97cd776,
type: 3}
- target: {fileID: 3832223424831496137, guid: 45afc82bd78fcde4094d06a4b547efa8,
type: 3}
diff --git a/Assets/MyGame/aa/Game/Prop/YuLei/98/Image Variant 1.prefab b/Assets/MyGame/aa/Game/Prop/YuLei/98/Image Variant 1.prefab
index 8b05aa08d..72be3a73e 100644
--- a/Assets/MyGame/aa/Game/Prop/YuLei/98/Image Variant 1.prefab
+++ b/Assets/MyGame/aa/Game/Prop/YuLei/98/Image Variant 1.prefab
@@ -18,7 +18,7 @@ PrefabInstance:
type: 3}
propertyPath: m_Sprite
value:
- objectReference: {fileID: 21300000, guid: bab1afd7785a3ed41a63c0a0a97cd776,
+ objectReference: {fileID: 21300000, guid: 75a25856dbda8fc409afbb246779a6fb,
type: 3}
- target: {fileID: 3832223424831496137, guid: 45afc82bd78fcde4094d06a4b547efa8,
type: 3}
diff --git a/Assets/MyGame/aa/Game/XJMH/Boss/ChaoNengMoHe/7001.prefab b/Assets/MyGame/aa/Game/XJMH/Boss/ChaoNengMoHe/7001.prefab
index 0f4cef37a..d52cf9ef3 100644
--- a/Assets/MyGame/aa/Game/XJMH/Boss/ChaoNengMoHe/7001.prefab
+++ b/Assets/MyGame/aa/Game/XJMH/Boss/ChaoNengMoHe/7001.prefab
@@ -383,10 +383,13 @@ MonoBehaviour:
yzID:
colliderList: []
lockPoint: {fileID: 0}
- bingDongEffect: {fileID: 0}
+ bingDongEffect:
+ - {fileID: 0}
needLockEvent: 0
createVideoClip: {fileID: 0}
rotationPY: 60
+ useMirrorCompensate: 1
+ useRouteFlipX: 1
baseMmove: 0
isRotate: 0
isNot1: 0
diff --git a/Assets/MyGame/aa/Game/XJMH/Boss/ChaoNengMoHe/7001_Timeline Variant.prefab b/Assets/MyGame/aa/Game/XJMH/Boss/ChaoNengMoHe/7001_Timeline Variant.prefab
index 86f253b67..a7579d43a 100644
--- a/Assets/MyGame/aa/Game/XJMH/Boss/ChaoNengMoHe/7001_Timeline Variant.prefab
+++ b/Assets/MyGame/aa/Game/XJMH/Boss/ChaoNengMoHe/7001_Timeline Variant.prefab
@@ -88,6 +88,11 @@ PrefabInstance:
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
+ - target: {fileID: 4072297819150693707, guid: 7f726fc835cb8d8428d82d79886c0366,
+ type: 3}
+ propertyPath: m_RenderMode
+ value: 0
+ objectReference: {fileID: 0}
- target: {fileID: 4246014391128552018, guid: 7f726fc835cb8d8428d82d79886c0366,
type: 3}
propertyPath: m_IsActive
@@ -274,6 +279,11 @@ PrefabInstance:
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
+ - target: {fileID: 7763514552089800290, guid: 7f726fc835cb8d8428d82d79886c0366,
+ type: 3}
+ propertyPath: m_IsActive
+ value: 0
+ objectReference: {fileID: 0}
- target: {fileID: 7841263630781916576, guid: 7f726fc835cb8d8428d82d79886c0366,
type: 3}
propertyPath: m_Text
diff --git a/Assets/MyGame/aa/Game/XJMH/Boss/LieYanFengBao/PW_Enemy_115.prefab b/Assets/MyGame/aa/Game/XJMH/Boss/LieYanFengBao/PW_Enemy_115.prefab
index 95671fbc7..b20f012b6 100644
--- a/Assets/MyGame/aa/Game/XJMH/Boss/LieYanFengBao/PW_Enemy_115.prefab
+++ b/Assets/MyGame/aa/Game/XJMH/Boss/LieYanFengBao/PW_Enemy_115.prefab
@@ -146,10 +146,13 @@ MonoBehaviour:
yzID:
colliderList: []
lockPoint: {fileID: 0}
- bingDongEffect: {fileID: 0}
+ bingDongEffect:
+ - {fileID: 0}
needLockEvent: 0
createVideoClip: {fileID: 0}
rotationPY: 60
+ useMirrorCompensate: 1
+ useRouteFlipX: 1
baseMmove: 0
isRotate: 1
isNot1: 0
diff --git a/Assets/MyGame/aa/Game/XJMH/Boss/XiaoChouPuKe/XiaoChouPuKeEvent.cs b/Assets/MyGame/aa/Game/XJMH/Boss/XiaoChouPuKe/XiaoChouPuKeEvent.cs
index e77006195..a0ded0282 100644
--- a/Assets/MyGame/aa/Game/XJMH/Boss/XiaoChouPuKe/XiaoChouPuKeEvent.cs
+++ b/Assets/MyGame/aa/Game/XJMH/Boss/XiaoChouPuKe/XiaoChouPuKeEvent.cs
@@ -165,7 +165,7 @@ public class XiaoChouPuKeEvent : BJRedPacketEvent
case AWARD_JINHUA: return "金花";
case AWARD_SHUNZI: return "顺子";
case AWARD_DUIZI: return "对子";
- case AWARD_SANPAI: return "散排";
+ case AWARD_SANPAI: return "散牌";
default: return $"未知({type})";
}
}
diff --git a/Assets/MyGame/aa/Game/XJMH/Boss/XingJiXunHang/PW_Effect_FullScreen_GammaStorm_XingJiXunHang.prefab b/Assets/MyGame/aa/Game/XJMH/Boss/XingJiXunHang/PW_Effect_FullScreen_GammaStorm_XingJiXunHang.prefab
index bc6b46692..16eb676b8 100644
--- a/Assets/MyGame/aa/Game/XJMH/Boss/XingJiXunHang/PW_Effect_FullScreen_GammaStorm_XingJiXunHang.prefab
+++ b/Assets/MyGame/aa/Game/XJMH/Boss/XingJiXunHang/PW_Effect_FullScreen_GammaStorm_XingJiXunHang.prefab
@@ -2543,32 +2543,32 @@ PrefabInstance:
- target: {fileID: 224717645899765129, guid: 1cc01f7cc27390245a24996981157793,
type: 3}
propertyPath: m_AnchorMax.x
- value: 0.5
+ value: 1
objectReference: {fileID: 0}
- target: {fileID: 224717645899765129, guid: 1cc01f7cc27390245a24996981157793,
type: 3}
propertyPath: m_AnchorMax.y
- value: 0.5
+ value: 1
objectReference: {fileID: 0}
- target: {fileID: 224717645899765129, guid: 1cc01f7cc27390245a24996981157793,
type: 3}
propertyPath: m_AnchorMin.x
- value: 0.5
+ value: 0
objectReference: {fileID: 0}
- target: {fileID: 224717645899765129, guid: 1cc01f7cc27390245a24996981157793,
type: 3}
propertyPath: m_AnchorMin.y
- value: 0.5
+ value: 0
objectReference: {fileID: 0}
- target: {fileID: 224717645899765129, guid: 1cc01f7cc27390245a24996981157793,
type: 3}
propertyPath: m_SizeDelta.x
- value: 100
+ value: 0
objectReference: {fileID: 0}
- target: {fileID: 224717645899765129, guid: 1cc01f7cc27390245a24996981157793,
type: 3}
propertyPath: m_SizeDelta.y
- value: 100
+ value: 0
objectReference: {fileID: 0}
- target: {fileID: 224717645899765129, guid: 1cc01f7cc27390245a24996981157793,
type: 3}
@@ -2650,6 +2650,36 @@ PrefabInstance:
propertyPath: m_Layer
value: 5
objectReference: {fileID: 0}
+ - target: {fileID: 4943536532787682414, guid: 1cc01f7cc27390245a24996981157793,
+ type: 3}
+ propertyPath: m_AnchorMax.x
+ value: 0.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 4943536532787682414, guid: 1cc01f7cc27390245a24996981157793,
+ type: 3}
+ propertyPath: m_AnchorMax.y
+ value: 0.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 4943536532787682414, guid: 1cc01f7cc27390245a24996981157793,
+ type: 3}
+ propertyPath: m_AnchorMin.x
+ value: 0.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 4943536532787682414, guid: 1cc01f7cc27390245a24996981157793,
+ type: 3}
+ propertyPath: m_AnchorMin.y
+ value: 0.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 4943536532787682414, guid: 1cc01f7cc27390245a24996981157793,
+ type: 3}
+ propertyPath: m_AnchoredPosition.x
+ value: -649
+ objectReference: {fileID: 0}
+ - target: {fileID: 4943536532787682414, guid: 1cc01f7cc27390245a24996981157793,
+ type: 3}
+ propertyPath: m_AnchoredPosition.y
+ value: -222
+ objectReference: {fileID: 0}
- target: {fileID: 5056046847199113071, guid: 1cc01f7cc27390245a24996981157793,
type: 3}
propertyPath: m_Color.a
diff --git a/Assets/MyGame/aa/Game/XJMH/Boss/XingJiXunHang/PW_Effect_FullScreen_Symmetra_XingJiXunHang.prefab b/Assets/MyGame/aa/Game/XJMH/Boss/XingJiXunHang/PW_Effect_FullScreen_Symmetra_XingJiXunHang.prefab
index 4fd38fcfb..c9ee7fb9b 100644
--- a/Assets/MyGame/aa/Game/XJMH/Boss/XingJiXunHang/PW_Effect_FullScreen_Symmetra_XingJiXunHang.prefab
+++ b/Assets/MyGame/aa/Game/XJMH/Boss/XingJiXunHang/PW_Effect_FullScreen_Symmetra_XingJiXunHang.prefab
@@ -11,7 +11,7 @@ GameObject:
- component: {fileID: 1745956628462581267}
- component: {fileID: 5092289092170808655}
- component: {fileID: 5694906757250386137}
- m_Layer: 8
+ m_Layer: 5
m_Name: Image
m_TagString: Untagged
m_Icon: {fileID: 0}
@@ -86,7 +86,7 @@ GameObject:
- component: {fileID: 1063372816148739575}
- component: {fileID: 1160224913167168184}
- component: {fileID: 5799920564749670259}
- m_Layer: 8
+ m_Layer: 5
m_Name: Image (1)
m_TagString: Untagged
m_Icon: {fileID: 0}
@@ -159,10 +159,30 @@ PrefabInstance:
serializedVersion: 3
m_TransformParent: {fileID: 0}
m_Modifications:
+ - target: {fileID: 1227136042012645, guid: dbeda42c32f903b4495000637b3923b6, type: 3}
+ propertyPath: m_Layer
+ value: 5
+ objectReference: {fileID: 0}
- target: {fileID: 1357162770379525, guid: dbeda42c32f903b4495000637b3923b6, type: 3}
propertyPath: m_Name
value: PW_Effect_FullScreen_Symmetra_XingJiXunHang
objectReference: {fileID: 0}
+ - target: {fileID: 1357162770379525, guid: dbeda42c32f903b4495000637b3923b6, type: 3}
+ propertyPath: m_Layer
+ value: 5
+ objectReference: {fileID: 0}
+ - target: {fileID: 1709818772002834, guid: dbeda42c32f903b4495000637b3923b6, type: 3}
+ propertyPath: m_Layer
+ value: 5
+ objectReference: {fileID: 0}
+ - target: {fileID: 1828082798479727, guid: dbeda42c32f903b4495000637b3923b6, type: 3}
+ propertyPath: m_Layer
+ value: 5
+ objectReference: {fileID: 0}
+ - target: {fileID: 1947027156987641, guid: dbeda42c32f903b4495000637b3923b6, type: 3}
+ propertyPath: m_Layer
+ value: 5
+ objectReference: {fileID: 0}
- target: {fileID: 224281346465246749, guid: dbeda42c32f903b4495000637b3923b6,
type: 3}
propertyPath: m_Pivot.x
@@ -263,6 +283,11 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z
value: -0
objectReference: {fileID: 0}
+ - target: {fileID: 2641888382424306054, guid: dbeda42c32f903b4495000637b3923b6,
+ type: 3}
+ propertyPath: m_Layer
+ value: 5
+ objectReference: {fileID: 0}
- target: {fileID: 4516300943935562213, guid: dbeda42c32f903b4495000637b3923b6,
type: 3}
propertyPath: m_SortingLayer
@@ -283,6 +308,11 @@ PrefabInstance:
propertyPath: m_LocalScale.z
value: 1
objectReference: {fileID: 0}
+ - target: {fileID: 5269181710094785676, guid: dbeda42c32f903b4495000637b3923b6,
+ type: 3}
+ propertyPath: m_Layer
+ value: 5
+ objectReference: {fileID: 0}
- target: {fileID: 7052412716047492704, guid: dbeda42c32f903b4495000637b3923b6,
type: 3}
propertyPath: m_SortingLayer
diff --git a/Assets/MyGame/aa/Game/XJMH/Boss/XingJiXunHang/XingJiXunHangEvent.cs b/Assets/MyGame/aa/Game/XJMH/Boss/XingJiXunHang/XingJiXunHangEvent.cs
index f5c56fd5c..cc3f41e2f 100644
--- a/Assets/MyGame/aa/Game/XJMH/Boss/XingJiXunHang/XingJiXunHangEvent.cs
+++ b/Assets/MyGame/aa/Game/XJMH/Boss/XingJiXunHang/XingJiXunHangEvent.cs
@@ -555,7 +555,9 @@ public class XingJiXunHangEvent : BJRedPacketEvent
if (isSelf)
{
// ⭐ 结算特效是 UI 预制体 → 挂 UI 层放屏幕中心,加入统一销毁列表(die() 时删除)
- SpawnUiEffect(_settlePrefab);
+ var settleObj = SpawnUiEffect(_settlePrefab);
+ // ⭐ 中央结算面板上挂着 BJEndUI(美术已接好 tMP_beishu / tMP_score)→ 写入倍数 + 最终总分
+ InitSettleBjEndUI(settleObj);
Debug.Log("[XingJiXunHang] Phase8: 结算特效(自己,UI中心)");
}
else
@@ -565,6 +567,8 @@ public class XingJiXunHangEvent : BJRedPacketEvent
var settleObj = SpawnWorldEffect(_settlePrefab, settlePos);
if (settleObj != null)
settleObj.transform.localScale = Vector3.one * 0.6f;
+ // ⭐ 他人视角结算面板同样写分数(银币精灵,isSelf=false)
+ InitSettleBjEndUI(settleObj);
Debug.Log($"[XingJiXunHang] Phase8: 结算特效(他人) pos={settlePos}");
}
}
@@ -616,7 +620,9 @@ public class XingJiXunHangEvent : BJRedPacketEvent
if (isSelf)
{
- SpawnUiEffect(settleFuJiaTianXia);
+ var settleObj = SpawnUiEffect(settleFuJiaTianXia);
+ // ⭐ 中央结算面板 BJEndUI 写入倍数 + 最终总分
+ InitSettleBjEndUI(settleObj);
Debug.Log("[XingJiXunHang] 富甲天下结算(自己,UI中心)");
}
else
@@ -625,6 +631,8 @@ public class XingJiXunHangEvent : BJRedPacketEvent
var settleObj = SpawnWorldEffect(settleFuJiaTianXia, settlePos);
if (settleObj != null)
settleObj.transform.localScale = Vector3.one * 0.6f;
+ // ⭐ 他人视角结算面板同样写分数
+ InitSettleBjEndUI(settleObj);
Debug.Log($"[XingJiXunHang] 富甲天下结算(他人) pos={settlePos}");
}
}
@@ -1492,6 +1500,44 @@ public class XingJiXunHangEvent : BJRedPacketEvent
}
}
+ ///
+ /// ⭐ 给结算特效上的 BJEndUI 写入爆奖分数(倍数 + 最终总分)。
+ ///
+ /// 结算预制体(PW_Effect_Settle_*_XingJiXunHang,Art/PW_Effect_Settle_* 的变体)
+ /// 根节点上挂了 BJEndUI,tMP_beishu / tMP_score 已由美术接好,代码只需 Init:
+ /// isSelf → 面板挂在 UI 层、屏幕中心(SpawnUiEffect);他人 → 击杀者座位上方(银币样式)。
+ /// 不写会一直显示预制体里的占位文本,所以爆奖结束前必须 Init 一次。
+ ///
+ /// 已实例化的结算特效对象(SpawnUiEffect / SpawnWorldEffect 的返回值)
+ private void InitSettleBjEndUI(GameObject settleObj)
+ {
+ if (settleObj == null) return;
+
+ // 优先根节点(预制体挂在根上),回退子节点(防止后续挪到子物体)
+ var endUI = settleObj.GetComponent();
+ if (endUI == null)
+ endUI = settleObj.GetComponentInChildren(true);
+
+ if (endUI == null)
+ {
+ Debug.LogWarning($"[XingJiXunHang] 结算特效 {settleObj.name} 上未找到 BJEndUI,跳过分数写入");
+ return;
+ }
+
+ // ⭐ 空安全:TMP 引用全空(预制体没接)时不调 Init,避免空引用
+ if (endUI.tMP_beishu == null && endUI.tMP_score == null)
+ {
+ Debug.LogWarning($"[XingJiXunHang] 结算面板 BJEndUI 未接 tMP_beishu/tMP_score({settleObj.name}),跳过分数写入");
+ return;
+ }
+
+ // ⭐ 分数 = maxScore(服务端下发的爆奖最终总分),与基类 ShowBJEndUI 保持一致;
+ // 他人视角传 isSelf=false → 银币精灵
+ endUI.Init(bJbeishu, maxScore, isSelf);
+ Debug.Log($"[XingJiXunHang] 结算面板 BJEndUI 写入分数: 倍数={bJbeishu} 分数={maxScore} " +
+ $"isSelf={isSelf} obj={settleObj.name}");
+ }
+
///
/// 缓存 UI 层父节点 + Canvas:
/// 父节点 = currGameType.subPanelParent.parent(与爆奖预制体同层,随 UI 卸载自动清理)
diff --git a/Assets/MyGame/aa/Game/XJMH/Boss/XingJiXunHang/XingJiXunHang_BOSS.cs b/Assets/MyGame/aa/Game/XJMH/Boss/XingJiXunHang/XingJiXunHang_BOSS.cs
index c7abc8a68..b8b8d2436 100644
--- a/Assets/MyGame/aa/Game/XJMH/Boss/XingJiXunHang/XingJiXunHang_BOSS.cs
+++ b/Assets/MyGame/aa/Game/XJMH/Boss/XingJiXunHang/XingJiXunHang_BOSS.cs
@@ -391,7 +391,14 @@ public class XingJiXunHang_BOSS : MonsterControl_BossBase
return cur;
}
- /// 非最终死亡:显示 BJEndUI
+ ///
+ /// 非最终死亡(不死爆奖):显示 BJEndUI(倍数+分数)。
+ ///
+ /// ⭐ 爆奖面板是 UI 预制体 → 必须挂游戏主 UI 面板层(currGameType.subPanelParent.parent),
+ /// 并用 UI 画布坐标(RectTransform.anchoredPosition)定位;
+ /// 之前挂 bjEffectRoot(uiRoot 层)用 3D 世界坐标摆放,不在游戏 UI 面板里,
+ /// 会浮在 3D 上、渲染层级和位置都不对。
+ ///
private void ShowNonFinalDeathBjEndUI(RoomKillNotice obj, int beishu)
{
if (nonFinalDeathBjEndUI == null || obj == null)
@@ -400,10 +407,17 @@ public class XingJiXunHang_BOSS : MonsterControl_BossBase
return;
}
- // 计算位置(座位上方)
+ var mgr = CreateFishManager.Instance;
+ if (mgr == null || mgr.currGameType == null)
+ {
+ Debug.LogWarning("[XingJiXunHang] CreateFishManager/currGameType 为空,跳过 BJEndUI 显示");
+ return;
+ }
+
+ // 查找击杀者座位:⭐ XJMH 座位/炮台都是 UI 元素,取到的位置已是 UI 世界坐标
int posID = 0;
Vector3 seatPos = transform.position;
- foreach (var item in CreateFishManager.Instance.currGameType.list_Sits)
+ foreach (var item in mgr.currGameType.list_Sits)
{
if (item.user == obj.userId)
{
@@ -415,17 +429,51 @@ public class XingJiXunHang_BOSS : MonsterControl_BossBase
}
}
+ // 座位上方偏移:0/1 号座位向上,2/3 号座位向下(沿用原逻辑)
float y = 150f; // 默认 bjEndUIOffsetY
if (posID == 2 || posID == 3) y *= -1f;
- Vector3 uiPos = seatPos + Vector3.up * y;
bool isMine = obj.userId == GameManager.Instance.user.id;
+
+ // ⭐ UI 父节点:游戏主 UI 面板层(与 CreateFishManager 生成 UI 爆奖特效、其它 Boss 面板一致),
+ // 取不到才回退 bjEffectRoot
+ Transform uiParent = mgr.currGameType.subPanelParent != null
+ ? mgr.currGameType.subPanelParent.parent
+ : null;
+ if (uiParent == null)
+ uiParent = mgr.bjEffectRoot;
+
// ⭐ 字段类型就是 BJEndUI:Instantiate 返回的 endUI 本身就是 BJEndUI 脚本(预制体必带)
- var endUI = Instantiate(nonFinalDeathBjEndUI, uiPos, Quaternion.identity,
- CreateFishManager.Instance.bjEffectRoot);
+ var endUI = uiParent != null
+ ? Instantiate(nonFinalDeathBjEndUI, uiParent)
+ : Instantiate(nonFinalDeathBjEndUI);
+
+ // ⭐ 用 UI 画布坐标定位(anchoredPosition),不再用 3D 世界坐标
+ var rect = endUI.GetComponent();
+ var uiCanvas = UIManager.Instance != null && UIManager.Instance.uiRoot != null
+ ? UIManager.Instance.uiRoot.GetComponent