观察者模式 (Observer)

事件驱动架构:成就系统「订阅」杀敌事件、音效系统「订阅」跳跃事件。各模块解耦,加新功能不改旧代码。

观察者模式(事件驱动架构)让游戏模块之间解耦通信。举例:成就系统需要知道「玩家杀了多少敌人」,但成就系统不应该直接写在击杀逻辑里。用事件来解决:击杀时发射「EnemyKilled」事件,成就系统订阅这个事件并自行处理计数。

这样做的好处:加新功能不需要改旧代码。你想加一个「击杀音效」功能?订阅同一个 EnemyKilled 事件即可。你想加击杀统计面板?再订阅一个。每个模块独立开发、独立测试、独立维护。整个架构就像乐高积木——插上就用。

实现方式:C# 用 event/Action,Godot 用 signal,Unreal 用 Event Dispatcher。也可以自己实现一个简单的 EventBus 静态类。注意:不要在事件回调里做耗时操作(会阻塞发射方),必要时用异步处理。

💡 微信搜索「别装没看见」小程序,44+ 开发技巧随时翻阅