载入中...
搜索中...
未找到
QuestSystem.h
浏览该文件的文档.
1#pragma once
2
11#include "rpg/QuestTypes.h"
12
13#include <string>
14#include <vector>
15
16#include "common/Export.h"
17
18namespace eve::rpg {
19
20class Tracker;
21struct QuestDefinition;
22
25public:
27 static void syncAuto(Tracker *t);
28
30 static bool hasMetRequirements(const Tracker &t, const QuestDefinition &def);
31
33 static std::string stateForUnlocked(const QuestDefinition &def);
34
36 static bool activate(Tracker *t, const std::string &id, std::string *reason = nullptr);
38 static bool canActivate(Tracker *t, const std::string &id, std::string *reason = nullptr);
40 static std::string canActivateReason(Tracker *t, const std::string &id);
41
43 static void notify(Tracker *t, const std::string &topic, const std::string &target, int amount);
44
46 static bool claim(Tracker *t, const std::string &id, std::string *reason = nullptr);
47
49 static bool reset(Tracker *t, const std::string &id);
51 static bool abandon(Tracker *t, const std::string &id);
53 static bool fail(Tracker *t, const std::string &id, const std::string &reason);
54
56 static void pollEvents(Tracker *t, std::vector<QuestEvent> &out);
57};
58
59} // namespace eve::rpg
LogicalId target
#define EVENGINE_API_PLATFORM
Definition Export.h:107
float t
RPG 目标追踪器(任务/成就/教程)的纯数据类型。
EVENGINE_API_PLATFORM public API.
Definition QuestSystem.h:24
一份任务进度 + 本实例事件队列。
Definition Tracker.h:26
RPG 模块的基础实体:把属性 / 状态 / 技能三张表挂到一个 ECS 实体上。
数据驱动的任务模板。
Definition Quest.h:24