用数据库和分类整理事件
把受击、击败等相关事件放入同一战斗数据库,再用分类划分更小的事件组,团队可以从同一个入口查找资产,并在编辑场景前检查对应的 Behavior
按玩法模块划分数据库
为战斗、界面等玩法模块各建一个 GameEventDatabase,在 Game Event Manager 中加入场景或项目需要的数据库,再用分类区分战斗库里的伤害、击败和增益事件

把经常一起编辑的事件放进同一个数据库,便于用同一组筛选条件检查相关 Behavior

调整数据库时核对引用
在数据库内修改事件名称会保留事件 ID,在 Unity Project 窗口内移动数据库会保留 Unity 资产 GUID,若把事件迁到另一个数据库,用 Event Finder 查找原子资产的引用并按需更新
在运行时注册数据库
如果模块在运行时提供数据库资产,在资产加载后调用 GameEventManager.RegisterDatabase(database),模块退出时调用 UnregisterDatabase(database) 清理注册,使用可选 Addressables 集成时,通过 Lease 管理数据库资产的加载和释放
减少对同一数据库的并行修改
使用独立数据库后,四个同时工作的开发者操作的是四个不同的文件:
Developer A: adds OnQuestAccepted to QuestEvents.asset
Developer B: adds OnItemCrafted to InventoryEvents.asset
Developer C: modifies OnPlayerDamaged in CombatEvents.asset
Developer D: adds OnNPCDialogueStarted to SocialEvents.asset
不同数据库的修改分布在不同资产文件中,若多人同时编辑同一个库,合并时仍需核对序列化内容

筛选事件并检查 Behavior
在 Game Event Editor 中选中战斗数据库,再组合使用 Category、Type 和搜索框,例如选择 Damage 和 SingleGameEvent 后搜索 player,找到与玩家有关、参数为浮点数的伤害事件

通过 Behavior 按钮检查绑定,绿色表示已有 Inspector 绑定,蓝色表示有运行时监听器,橙色表示当前没有绑定,决定移除事件前,先用 Event Finder 核对引用
删除确认不再使用的事件
选中对应数据库,清除会隐藏目标事件的筛选条件,点击 Delete Event 后勾选要删除的行,并在确认窗口核对列表,Select All 只会勾选符合当前筛选条件的事件

