载入中...
搜索中...
未找到
WorldState.h
浏览该文件的文档.
1#pragma once
2#include "common/Export.h"
3
4
5#include "common/Result.h"
6
7#include <string_view>
8
9namespace eve::rpg {
10
11class GameState;
12
20public:
28 explicit WorldState(GameState& gameState) noexcept : gameState_(&gameState) {}
29
36 [[nodiscard]] bool isObjectConsumed(std::string_view mapId, std::string_view objectId) const;
37
44 [[nodiscard]] eve::Result<void> consumeObject(std::string_view mapId, std::string_view objectId);
45
52 [[nodiscard]] eve::Result<void> resetObject(std::string_view mapId, std::string_view objectId);
53
54private:
55 GameState* gameState_ = nullptr;
56};
57
58} // namespace eve::rpg
#define EVENGINE_API_PLATFORM
Definition Export.h:107
Move-only, checked operation results for the common layer.
Move-only operation result carrying either a value or Status.
Definition Result.h:155
一份游戏状态(开关/变量/独立变量)。
Definition GameState.h:25
Non-owning typed adapter for persistent per-map object lifecycle state.
Definition WorldState.h:19
WorldState(GameState &gameState) noexcept
Bind an adapter to one authoritative game state.
Definition WorldState.h:28
RPG 模块的基础实体:把属性 / 状态 / 技能三张表挂到一个 ECS 实体上。