1
This commit is contained in:
@@ -654,10 +654,10 @@ public class CreateFishManager : MonoSingleton<CreateFishManager>
|
||||
return;
|
||||
foreach (var item in bossList)
|
||||
{
|
||||
if (item.fishNumber == "11030")
|
||||
if (item.fishNumber == "11026")
|
||||
item.isCreate = 2;
|
||||
|
||||
if (item.fishNumber == "11027")
|
||||
if (item.fishNumber == "11035")
|
||||
item.isCreate = 2;
|
||||
// if (item.fishNumber == "11030")
|
||||
// item.isCreate = 2;
|
||||
@@ -2096,7 +2096,10 @@ public class CreateFishManager : MonoSingleton<CreateFishManager>
|
||||
public void FreezeAllFish()
|
||||
{
|
||||
isFrozen = true;
|
||||
// ⭐ 两个字典必须同步清空,否则 frozenFishIsMoves 残留旧数据
|
||||
// 会导致下次解冻时用旧值覆盖 isMove 但不恢复 currState
|
||||
frozenFishStates.Clear();
|
||||
frozenFishIsMoves.Clear();
|
||||
|
||||
// 只遍历全量字典 fishDatas_hashCodekey(已包含所有鱼),不重复遍历子字典
|
||||
if (fishDatas_hashCodekey != null)
|
||||
@@ -2131,16 +2134,25 @@ public class CreateFishManager : MonoSingleton<CreateFishManager>
|
||||
MonsterContral m = kv.Value;
|
||||
if (m == null || !m.gameObject.activeInHierarchy) continue;
|
||||
|
||||
// ⭐ 只恢复本次冰冻记录的鱼(frozenFishStates 有记录才恢复)
|
||||
// 避免用 frozenFishIsMoves 的旧数据覆盖未冻结鱼的 isMove
|
||||
if (!frozenFishStates.TryGetValue(m.guid, out var prevState))
|
||||
continue;
|
||||
|
||||
// 恢复冰冻前的 isMove 和 currState
|
||||
if (frozenFishIsMoves.TryGetValue(m.guid, out var prevIsMove))
|
||||
m.isMove = prevIsMove;
|
||||
else
|
||||
m.isMove = true; // 兜底:没记录就恢复为可移动
|
||||
|
||||
m.SetFreezeEffect(false);
|
||||
if (frozenFishStates.TryGetValue(m.guid, out var prevState))
|
||||
m.ChangeState(prevState);
|
||||
m.ChangeState(prevState);
|
||||
}
|
||||
}
|
||||
|
||||
// ⭐ 两个字典同步清空
|
||||
frozenFishStates.Clear();
|
||||
frozenFishIsMoves.Clear();
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user