载入中...
搜索中...
未找到
WeaponAction.h
浏览该文件的文档.
1#pragma once
2#include "common/Export.h"
3
4
5#include "common/Time.h"
6
12#include "action/Action.h"
14#include "weapon/WeaponTypes.h"
15
16#include <optional>
17#include <string>
18
19namespace eve::weapon {
20
30public:
38 [[nodiscard]] static eve::Result<std::optional<eve::resource::CostSpec>> resourceCost(
39 const WeaponDefinition& weapon);
40
53 eve::transaction::ITransactionParticipant& effect, std::string transactionId = {});
54
70
77 [[nodiscard]] static eve::Result<action::ActionDefinition> makeDefinition(const WeaponDefinition& weapon,
78 const AttackRequest& request);
79
88 [[nodiscard]] static eve::Result<action::ActionRequest> makeRequest(
89 const WeaponDefinition& weapon, const AttackRequest& attack,
90 std::optional<ecs::EntityHandle> source = std::nullopt,
92};
93
94} // namespace eve::weapon
Renderer- and ruleset-neutral gameplay action pipeline.
Small transaction facade for a resource cost plus one domain effect.
eve::resource::IResourceAccount * account
#define EVENGINE_API_WORLD
Definition Export.h:109
const GltfImportRequest & request
std::unique_ptr< ParticleEffect > effect
SimulationTick tick
Common time values and an injectable deterministic simulation clock.
const UnitySourceAsset & source
Move-only operation result carrying either a value or Status.
Definition Result.h:155
static constexpr StrongUint64 zero() noexcept
Returns the zero value for this strong type.
Provider-neutral resource account contract.
Synchronous participant contract for one coordinator transaction.
Translates a WeaponDefinition/AttackRequest pair to Action values.
载具模块入口(eve.Vehicle):定义注册 / 实体工厂 / RTS 命令 / 帧调度。 设计文档:docs/dev/通用载具系统设计.md
一次攻击请求(C++ 系统 / 脚本发起)。角度均为度。 旧名 FireRequest 保留为别名,向后兼容。
武器模板(registerWeaponsFromJson 注册,进程级注册表)。