- TD-13: IQuestManager.CompleteQuest 改用 IRewardTarget,移除 using BaseGames.Player - TD-14: HurtFlashController 缓存 WaitForSeconds(_waitForFlash 字段) - TD-16: LiquidType 枚举迁移至 BaseGames.Core.Events;LiquidEvent.LiquidType 改为枚举直接比较 - TD-17: DeathScreenController 移除失效的 _onPlayerDied 订阅,改为 OnEnable 直接启动延迟显示 影响文件: IQuestManager.cs / HurtFlashController.cs / LiquidType.cs(迁移) / LiquidEvent.cs / LiquidZone.cs / WaterDangerState.cs / UnderwaterPostProcessingController.cs / UnderwaterAudioController.cs / DeathScreenController.cs 评审文档: Docs/Review/FrameworkReview_2026_May_v11.md(综合评分 9.30/10)
30 lines
1.1 KiB
C#
30 lines
1.1 KiB
C#
namespace BaseGames.Core.Events
|
||
{
|
||
/// <summary>
|
||
/// 液体区域事件负载。用于玩家进入/离开液体区域时传递区域信息。
|
||
/// </summary>
|
||
public readonly struct LiquidEvent
|
||
{
|
||
/// <summary>液体区域标识符(对应 LiquidZone SO 的 zoneId)。</summary>
|
||
public readonly string ZoneId;
|
||
/// <summary>液体类型(枚举直接比较,无字符串转换)。</summary>
|
||
public readonly LiquidType LiquidType;
|
||
|
||
public LiquidEvent(string zoneId, LiquidType liquidType)
|
||
{
|
||
ZoneId = zoneId;
|
||
LiquidType = liquidType;
|
||
}
|
||
|
||
public override string ToString() => $"LiquidEvent(Zone={ZoneId}, Type={LiquidType})";
|
||
}
|
||
|
||
/// <summary>
|
||
/// 液体进出事件频道(EVT_LiquidEntered / EVT_LiquidExited)。
|
||
/// 发布:LiquidZone(OnTriggerEnter2D / OnTriggerExit2D)
|
||
/// 订阅:PlayerController(切换游泳状态)、DrownSystem、AudioManager
|
||
/// </summary>
|
||
[UnityEngine.CreateAssetMenu(menuName = "Events/LiquidEvent")]
|
||
public class LiquidEventChannelSO : BaseEventChannelSO<LiquidEvent> { }
|
||
}
|