【开发日志】#3 任务及物品系统
虽然这只是一个简单的平台跳跃游戏,但我希望能提供一些隐藏彩蛋及支线任务,方便后续接入成就系统。
以往游戏设计中,都是通过为每个任务/物品绑定一个唯一ID,作为存储及检索的凭据。
在Unity中,则可以通过ScriptableObject存储这类信息,好处是能够可视化管理此类数据,而且能够随时修改其信息而不丢失引用(因为所有数据都与一个ScriptableObject资源实例而不是唯一字符串绑定)。
在上述的基础上,可以实现以下功能:
- 当玩家接到一个任务A时,任务管理器会通过事件进行广播,然后与该任务绑定的NPC/物体会同步显示;相反,当任务A结束时,相关NPC/物体也会消失。
- 当玩家拾取一件物品时,相关的物品也可以同步显隐。比如在游戏初期,玩家拾取了悟空丢出来的金箍棒物体后,玩家手上的金箍棒才会同步显示。