1
This commit is contained in:
@@ -294,6 +294,14 @@ public class MonsterContral : MonoBehaviour
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// ⭐ 本次服务端击杀通知是否需要清除各座位对该鱼的锁定引用(默认 true:死了就清锁)。
|
||||
/// 多次死亡的 Boss(星际巡航/烈焰风暴)重写:非最终死亡(爆奖不死)时返回 false,
|
||||
/// 此时鱼既没死也不回收,保持锁定,玩家不用重新点一次锁定。
|
||||
/// </summary>
|
||||
/// <param name="killNotice">本次击杀通知(子类据此判断是否最终死亡)</param>
|
||||
public virtual bool ShouldClearLockOnKill(RoomKillNotice killNotice) => true;
|
||||
|
||||
/// <summary>
|
||||
/// ⭐ 是否延迟注册入鱼列表(子类控制,默认false=OnlyFish 创建时立即注册,现有鱼零影响)。
|
||||
/// true=CreateFishManager.OnlyFish 跳过 RegisterFishInstance,
|
||||
|
||||
@@ -2055,10 +2055,14 @@ public class CreateFishManager : MonoSingleton<CreateFishManager>
|
||||
}
|
||||
}
|
||||
// ⭐ 死鱼清除所有座位的锁定引用(原逻辑只清击杀者座位,其他座位锁同一条鱼时不清)
|
||||
ClearLockOnFish(killFish.fishId);
|
||||
// ⭐ 例外:多次死亡 Boss(星际巡航/烈焰风暴)"爆奖不死"(非最终死亡)时不清锁 ——
|
||||
// 鱼既没死也不回收,保持锁定,玩家不用重新点一次;是否清锁由 Boss 自己判定
|
||||
bool killedFound = fishDatas_hashCodekey.TryGetValue(killFish.fishId, out var monster);
|
||||
if (!killedFound || monster.ShouldClearLockOnKill(killFish))
|
||||
ClearLockOnFish(killFish.fishId);
|
||||
|
||||
|
||||
if (!fishDatas_hashCodekey.TryGetValue(killFish.fishId, out var monster)) return;
|
||||
if (!killedFound) return;
|
||||
|
||||
// ⭐ 统一标记死亡:死亡后子弹不再命中、不再被锁定(含不调 base.DieFish 的 Boss 子类)
|
||||
monster.isDead = true;
|
||||
|
||||
Reference in New Issue
Block a user