在Unity3D中实现任务系统



大家好。

我正在Unity3D中开发一款故事驱动的游戏,我想让玩家必须完成任务才能完成故事。

实现任务系统的最佳和最有效的方法是什么?

目前我有以下数据结构:

  • 任务(类)
    • 任务名称
    • 任务描述
    • 任务奖励
    • 任务位置
    • 这是支线任务吗
    • 主要任务的名称是什么
    • 有必要继续主要任务吗
  • QuestManager(班级)
    • 所有任务列表
    • 该剧目前追求的是什么目标
    • 当前任务的目标和支线任务列表
    • 该剧在当前任务中要完成什么目标
    • 检查玩家是否完成了任务/目标/支线任务,并相应地处理事件

数据结构看起来很合理,但我不知道如何以如此通用的方式实现,以便在游戏中轻松快速地创建任务。有什么想法吗?

您的总体想法似乎不错。我会稍微修改一下。我可能会让探索奖励也成为一门课程。这样就更容易定制奖励。。我也会制作"主要任务的名字是什么?"一种抓取任务对象(如果存在的话)的方法。这样你就可以很容易地从子任务中引用父任务。

我假设你使用数据库来存储所有这些信息?如果没有,我建议使用sqlite。

这样,添加更多任务等所需的就是向用户发送更新的数据库文件。将数据添加到数据库中也非常容易/快速。没有硬编码任务等

因此,您将这些Quest类创建为Models,填写数据,然后将该对象转换为JSON。然后可以将其存储在数据库中。一旦它被拉出,你就可以将Json转换回任务对象。

使用Newton soft Json和Sqlite 来完成此操作

或者您也可以这样做:演练:简单对象模型和查询

最新更新