diff --git a/Assets/Art/FengLei/ResLY/bundles/by_fish_update/bundles/fish/6005/6005_Timeline.playable b/Assets/Art/FengLei/ResLY/bundles/by_fish_update/bundles/fish/6005/6005_Timeline.playable
index 8ce88a420..78a235983 100644
--- a/Assets/Art/FengLei/ResLY/bundles/by_fish_update/bundles/fish/6005/6005_Timeline.playable
+++ b/Assets/Art/FengLei/ResLY/bundles/by_fish_update/bundles/fish/6005/6005_Timeline.playable
@@ -607,7 +607,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 15c38f6fa1940124db1ab7f6fe7268d1, type: 3}
m_Name: Signal Emitter
m_EditorClassIdentifier:
- m_Time: 3.6
+ m_Time: 3.9166666666666665
m_Retroactive: 0
m_EmitOnce: 0
m_Asset: {fileID: 11400000, guid: 344d1087c2077664ebcfebc51d6cf167, type: 2}
@@ -934,7 +934,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 15c38f6fa1940124db1ab7f6fe7268d1, type: 3}
m_Name: Signal Emitter
m_EditorClassIdentifier:
- m_Time: 8.133333333333333
+ m_Time: 8.6
m_Retroactive: 0
m_EmitOnce: 0
m_Asset: {fileID: 11400000, guid: aca498d52b11314418047bc8d6c097ae, type: 2}
diff --git a/Assets/MyGame/Scenes/UIScene.unity b/Assets/MyGame/Scenes/UIScene.unity
index d99487fa5..c6adbf070 100644
--- a/Assets/MyGame/Scenes/UIScene.unity
+++ b/Assets/MyGame/Scenes/UIScene.unity
@@ -7080,7 +7080,7 @@ MonoBehaviour:
spawnList: []
isCreateFish: 0
isFrozen: 0
- debugSpawnFishNumber: 11027
+ debugSpawnFishNumber: 11035
fishList_All: []
fishList_Small: []
fishList_Boss: []
diff --git a/Assets/MyGame/Scripts/Characters/Monster/MonsterContral.cs b/Assets/MyGame/Scripts/Characters/Monster/MonsterContral.cs
index d36708278..a2ce48ec7 100644
--- a/Assets/MyGame/Scripts/Characters/Monster/MonsterContral.cs
+++ b/Assets/MyGame/Scripts/Characters/Monster/MonsterContral.cs
@@ -159,6 +159,32 @@ public class MonsterContral : MonoBehaviour
/// 鱼类型枚举(缓存,避免反复类型转换)
public FishTypeEnum fishenum;
+ ///
+ /// 是否为"按路线奇偶翻转X轴朝向"的Boss(Boss本体或BossBase子类,且未配置forwordXYZ自定义朝向轴)。
+ /// 这类Boss不随路线切线旋转,朝向只由路线方向决定:
+ /// 路线单数=左→右(X保持预制体正向),路线双数=右→左(X取负镜像)。
+ ///
+ protected bool IsRouteFlipBoss =>
+ (fishenum == FishTypeEnum.Boss鱼 || this is MonsterControl_BossBase)
+ && string.IsNullOrEmpty(forwordXYZ);
+
+ ///
+ /// ⭐ Boss路线朝向:按路线编号奇偶翻转X轴。
+ /// 单数路线=左→右 → X保持预制体原始值不变
+ /// 双数路线=右→左 → X取预制体原始值的负数(镜像)
+ /// 以预制体原始X缩放为基准绝对赋值,对象池复用后重新Init不会叠加翻转。
+ /// 路线编号非数字时不翻转(保持原朝向)。
+ ///
+ protected void ApplyBossRouteFlip(string pathId)
+ {
+ if (!int.TryParse(pathId, out int routeNum)) return;
+
+ float dirX = routeNum % 2 == 1 ? 1f : -1f;
+ var scale = transform.localScale;
+ scale.x = _prefabScaleX * dirX;
+ transform.localScale = scale;
+ }
+
/// 路径已行进的时间(秒),用于贝塞尔曲线插值;可由外部预设偏移实现同步追帧。
public float moveTime = 0f;
@@ -284,10 +310,15 @@ public class MonsterContral : MonoBehaviour
// Unity 生命周期
// ================================================================
public bool baseMmove;
+
+ /// 预制体原始X缩放(Awake缓存):Boss按路线奇偶翻转X轴的基准,池复用后重新Init不会叠加翻转
+ private float _prefabScaleX = 1f;
+
public virtual void Awake()
{
LoadHitEffect();
baseMmove = isMove;
+ _prefabScaleX = transform.localScale.x;
}
///
/// 查找受击特效子物体并强制隐藏。
@@ -456,6 +487,10 @@ public class MonsterContral : MonoBehaviour
if (!isMove)
transform.position = Vector3.zero;
+ // ⭐ Boss朝向:不随路线切线旋转,按路线编号奇偶翻转X轴(单数左→右保持正向/双数右→左翻转)
+ if (isMove && IsRouteFlipBoss)
+ ApplyBossRouteFlip(pathId);
+
// ⭐ 创建视频启动逻辑由子类负责:
// - MonsterControl_BossBase 在自己 Init 里启动 createVideo
// - 普通鱼走父类 Init,但普通鱼一般不配 createVideo
@@ -724,6 +759,11 @@ public class MonsterContral : MonoBehaviour
// 处理未指定朝向轴的情况(默认行为)
if (_facingAxis == FacingAxis.None)
{
+ // ⭐ Boss不随路线切线旋转(重构前旧逻辑Boss鱼本来就不参与朝向):
+ // 未配置正方向(forwordXYZ)的Boss,朝向由 ApplyBossRouteFlip 按路线奇偶翻转X轴决定;
+ // 配置了正方向的Boss走下方轴对齐逻辑,保持原有机制不变
+ if (IsRouteFlipBoss) return;
+
if (!is3D)
{
float angle = Mathf.Atan2(toNext.y, toNext.x) * Mathf.Rad2Deg;
diff --git a/Assets/MyGame/Scripts/Characters/Monster/MonsterControl_BossBase.cs b/Assets/MyGame/Scripts/Characters/Monster/MonsterControl_BossBase.cs
index 39972638a..f978efdfb 100644
--- a/Assets/MyGame/Scripts/Characters/Monster/MonsterControl_BossBase.cs
+++ b/Assets/MyGame/Scripts/Characters/Monster/MonsterControl_BossBase.cs
@@ -130,6 +130,11 @@ public class MonsterControl_BossBase : MonsterContral
// 避免 UpdateYZMovement 里 _yzPrefix 为空导致鱼阵 Boss 不移动
SetYzPrefix(yzID);
+ // ⭐ Boss朝向:不随路线切线旋转,按路线编号奇偶翻转X轴
+ // (单数路线=左→右保持预制体正向,双数路线=右→左翻转X轴为负)
+ if (isMove && IsRouteFlipBoss)
+ ApplyBossRouteFlip(pathId);
+
// ⭐ 创建视频处理:配置了 createVideoClip 时通过 GameMainPanel 的播放器播放
// 播放期间 OnMoveUpdata 会跳过移动,视频结束后才开始走路线
_createVideoDuration = 0f;
diff --git a/Assets/MyGame/aa/Game/FLZY/BOSS/BJBeishuEvent.cs b/Assets/MyGame/aa/Game/FLZY/BOSS/BJBeishuEvent.cs
index 88c3f0258..c4a6208df 100644
--- a/Assets/MyGame/aa/Game/FLZY/BOSS/BJBeishuEvent.cs
+++ b/Assets/MyGame/aa/Game/FLZY/BOSS/BJBeishuEvent.cs
@@ -63,9 +63,13 @@ public class BJBeishuEvent : BJRedPacketEvent
{
GameManager.Instance.StartCoroutine(yanchi());
}
- IEnumerator yanchi()
+ IEnumerator yanchi(float yanchi=1f)
{
- yield return new WaitForSeconds(1f);
+ yield return new WaitForSeconds(yanchi);
OnScoreEnd();
}
+ public void EndBJ0(float dd)
+ {
+ GameManager.Instance.StartCoroutine(yanchi(dd));
+ }
}
\ No newline at end of file
diff --git a/Assets/MyGame/aa/Game/FLZY/BOSS/FLXJ/5010_Timeline Variant.prefab b/Assets/MyGame/aa/Game/FLZY/BOSS/FLXJ/5010_Timeline Variant.prefab
index b294fa03a..23cf7355e 100644
--- a/Assets/MyGame/aa/Game/FLZY/BOSS/FLXJ/5010_Timeline Variant.prefab
+++ b/Assets/MyGame/aa/Game/FLZY/BOSS/FLXJ/5010_Timeline Variant.prefab
@@ -6107,38 +6107,44 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
bjEndUI: {fileID: 4300126860111980404, guid: 003f5ec3035359645a280eb7949422db, type: 3}
+ bjEndUIOffsetY: 150
+ posID: 0
+ paoBei: 0
+ fishScore: 0
+ bJbeishu: 0
+ maxScore: 0
+ startOffset: {x: 0, y: 0, z: -100}
+ isSelf: 0
+ isScoreEnd: 0
useScorePanel: 0
tMP_Score: {fileID: 0}
scorePanelPrefab: {fileID: 6116211215255876179, guid: 8034b7b676b12c34e8c527274ba6196f,
type: 3}
currScore: 0
- maxScore: 0
scoreCount: 0
- posID: 0
- paoBei: 0
- fishScore: 0
- bJbeishu: 0
+ bigPrizeFishMode: 0
showDelay: 3
moveDuration: 0.5
moveEase: 6
- startOffset: {x: 0, y: 0, z: -100}
- bjEndUIOffsetY: 150
coinFlyDuration: 0.5
coinArrivalInterval: 0.1
- isSelf: 0
+ showAddScoreFX: 1
autoFinishOnScoreFull: 1
totalBJCount: 0
currBJCount: 0
isEffEnd: 0
isScoreStart: 0
- isScoreEnd: 0
isGoldEffectStart: 0
- flxjKill:
- res: []
beishu: {fileID: 2095228394109979171}
+ beishu_UGUI: {fileID: 0}
beishunum: 0
chengshu: {fileID: 5606618776479132645}
+ chengshu_UGUI: {fileID: 0}
xiaoGuo_Effect: {fileID: 5077221471693894447}
+ xiaoGuo_UGUI: {fileID: 0}
+ beiShuRollDuration: 0.5
+ flxjKill:
+ res: []
currCount: 0
count: 0
director: {fileID: 763068597409920085}
@@ -6148,6 +6154,7 @@ MonoBehaviour:
count4: 1399
count5: 945
count6: 491
+ beiShuRollDuration: 0.5
--- !u!114 &6616238686904323898
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -6227,9 +6234,9 @@ MonoBehaviour:
- m_PersistentCalls:
m_Calls:
- m_Target: {fileID: 5124122615754557369}
- m_TargetAssemblyTypeName: FLXJEvent, Assembly-CSharp
- m_MethodName: EndBJ
- m_Mode: 1
+ m_TargetAssemblyTypeName: BJBeishuEvent, Assembly-CSharp
+ m_MethodName: EndBJ0
+ m_Mode: 4
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
diff --git a/Assets/MyGame/aa/Game/FLZY/BOSS/YGLG/6005.prefab b/Assets/MyGame/aa/Game/FLZY/BOSS/YGLG/6005.prefab
index cfbc27554..4ca8c476b 100644
--- a/Assets/MyGame/aa/Game/FLZY/BOSS/YGLG/6005.prefab
+++ b/Assets/MyGame/aa/Game/FLZY/BOSS/YGLG/6005.prefab
@@ -1909,7 +1909,7 @@ MonoBehaviour:
currEffect_DieAward: {fileID: 0}
isMove: 1
is3D: 0
- forwordXYZ:
+ forwordXYZ: X
fishenum: 0
moveTime: 0
isyz: 0