载入中...
搜索中...
未找到
BattleTactics.h
浏览该文件的文档.
1#pragma once
2#include "common/Export.h"
3
4
7#include "common/Result.h"
8#include "rpg/Battle.h"
9
10#include <string>
11#include <vector>
12
13namespace eve::rpg {
14
15class RPGActor;
16
24
27 std::string id;
28 std::vector<BattleTacticRule> rules;
29};
30
33public:
40 [[nodiscard]] static eve::Result<int> replaceFromJsonStrict(const std::string &json);
41 static void clear();
43 static int count();
48 [[nodiscard]] static eve::Result<std::string> queueAction(Battle *battle, RPGActor *actor,
49 const std::string &tacticsId);
50};
51
52} // namespace eve::rpg
回合制战斗对象:参战者、行动顺序、目标选取、行动执行。
#define EVENGINE_API_PLATFORM
Definition Export.h:107
Move-only, checked operation results for the common layer.
std::uint32_t count
Move-only operation result carrying either a value or Status.
Definition Result.h:155
Process-local strict catalogue that selects and queues companion/AI actions.
一场回合制战斗(任意阵营数)。 @ownership 由调用方创建/销毁;Battle 不持有参与者的所有权(参与者为借用 ECS actor)。 @thread 在单一模拟线程上驱动整场战斗。
Definition Battle.h:54
属性 / 状态 / 技能三表合一的 ECS 实体。
Definition RPGActor.h:34
RPG 模块的基础实体:把属性 / 状态 / 技能三张表挂到一个 ECS 实体上。
BattleTargetPolicy
Deterministic target-selection policies for queued battle actions.
Definition Battle.h:36
One ordered tactic rule; an empty condition resource is an unconditional default.
BattleTargetPolicy targetPolicy
One immutable ordered tactic definition.
std::vector< BattleTacticRule > rules