载入中...
搜索中...
未找到
VehicleOrderQueueAdapter.h
浏览该文件的文档.
1#pragma once
2#include "common/Export.h"
3
4
13#include "common/Result.h"
15
16#include <memory>
17#include <string>
18
19namespace eve::vehicle {
20
30public:
35
44
46 [[nodiscard]] eve::Result<std::string> append(const VehicleOrder& order, int priority = 0,
47 double timeoutSeconds = 0.0);
49 [[nodiscard]] eve::Result<std::string> replace(const VehicleOrder& order, int priority = 0,
50 double timeoutSeconds = 0.0);
52 [[nodiscard]] eve::Result<std::string> interrupt(const VehicleOrder& order, int priority = 0,
53 double timeoutSeconds = 0.0);
54
56 [[nodiscard]] eve::Result<void> completeCurrent();
58 [[nodiscard]] eve::Result<void> failCurrent(const std::string& reason);
60 [[nodiscard]] eve::Result<void> cancel(const std::string& id, const std::string& reason = "cancelled");
62 void update(double dtSeconds);
64 void clear();
65
74 [[nodiscard]] const VehicleOrder* current() const;
76 [[nodiscard]] int activeOrQueuedCount() const;
77
83 void syncCompatibility(VehicleEntity::Orders& legacy) const;
84
85private:
86 struct Impl;
87 void pruneTerminalPayloads();
88
89 std::unique_ptr<Impl> impl_;
90};
91
92} // namespace eve::vehicle
int priority
#define EVENGINE_API_DOMAINS
Definition Export.h:110
std::vector< std::int32_t > order
Move-only, checked operation results for the common layer.
double current
Move-only operation result carrying either a value or Status.
Definition Result.h:155
载具实体:数据全部在组件里,行为在 VehicleSystem。
Maps VehicleOrder domain payloads onto an orders::CommandQueue.
VehicleOrderQueueAdapter(VehicleOrderQueueAdapter &&) noexcept
Transfers adapter ownership without copying queue state.
~VehicleOrderQueueAdapter()
Releases the owned generic queue and domain payloads.
驾驶者接口与玩家控制状态。
Build metadata (engine git commit, build time, third-party version).
Definition Build.cpp:16
一条 Vehicle 领域命令(生命周期由 Vehicle order adapter 执行)。