This commit is contained in:
2026-07-25 16:13:21 +08:00
parent 3d834c3c68
commit 7f0b9e4e1a
4 changed files with 34 additions and 36 deletions
@@ -140,11 +140,11 @@ public class MonsterContral : MonoBehaviour
// ================================================================
// Unity 生命周期
// ================================================================
public bool baseMmove;
public virtual void Awake()
{
LoadHitEffect();
baseMmove = isMove;
}
public async void LoadHitEffect()
{
@@ -158,11 +158,14 @@ public class MonsterContral : MonoBehaviour
}
public virtual void OnEnable()
{
// ⭐ 重置 isMove=true:池回收的鱼重新生成时,必须恢复移动状态。
// 之前被注释掉导致:冰冻时 FreezeAllFish 设 isMove=false → 鱼被回收 →
// 重新生成后 isMove 残留 false → 鱼永远不动(一直在中间不会游动)。
// 冰冻中重新激活的鱼,FreezeAllFish 会立即覆盖为 false,安全。
isMove = true;
// ⭐ 用 baseMmove 恢复 isMove:Awake 时记录预制体原始 isMove 状态。
// - 普通鱼预制体 isMove=true → 池回收后恢复 true,正常游动
// (之前被注释导致:冰冻时 FreezeAllFish 设 isMove=false → 鱼回收 →
// 重新生成后残留 false → 鱼永远不动)
// - 爆奖 Boss 预制体 isMove=false → 恢复 false,固定在 (0,0,0) 播放动画
// (金龙/雷龙/玉龙等不走路径,直到爆奖结束销毁)
// - 冰冻中重新激活的鱼,末尾会覆盖为 false,安全
isMove = baseMmove;
fishenum = (FishTypeEnum)monsterData.fishTypeConfig.fishType;
uirootRect = UIManager.Instance.uiRoot.GetComponent<RectTransform>();
mainCamera = Camera.main;
@@ -170,7 +173,7 @@ public class MonsterContral : MonoBehaviour
InitAnimList();
ChangeState(CharacterStateType.move);
// ⭐ 同步冰冻特效状态:池回收的鱼 bingDongEffect 可能残留激活状态,
// ⭐ 同步冰冻特效状态:池回收的鱼 bingDongEffect 可能残留激活状态,
// 重新生成时会显示白色冰冻蒙皮。根据当前是否冰冻中决定显隐
bool frozen = CreateFishManager.Instance != null && CreateFishManager.Instance.isFrozen;
SetFreezeEffect(frozen);