载入中...
搜索中...
未找到
WeaponControl.cpp
浏览该文件的文档.
20 Diagnostic::error(DiagnosticCode::InvalidArgument, "weapon parameters must be an object", "parameters"));
29 DiagnosticCode::InvalidArgument, "weapon parameter must be numeric", "parameters." + std::string(name)));
41 DiagnosticCode::InvalidArgument, "weapon parameter must be an integer", "parameters." + std::string(name)));
47WeaponControl::WeaponControl(SubjectRef instance, SubjectRef wielder, WeaponDefinition definition,
83 Diagnostic::error(DiagnosticCode::NotFound, "weapon gameplay instance was not found", "instance"));
86 DiagnosticCode::PreconditionViolation, "session does not control the weapon wielder", "instance"));
89 Diagnostic::error(DiagnosticCode::StaleHandle, "weapon gameplay participants are invalid", "instance"));
113 if (!observed) return Result<std::vector<GameplayActionDescriptor>>::failure(observed.status());
117 DiagnosticCode::PreconditionViolation, "weapon action subject must be its wielder", "subject"));
133 Diagnostic::error(DiagnosticCode::NotFound, "weapon gameplay instance was not found", "instance"));
136 DiagnosticCode::PreconditionViolation, "session does not control the weapon wielder", "command.subject"));
139 Diagnostic::error(DiagnosticCode::InvalidArgument, "command id must not be empty", "command.id"));
145 DiagnosticCode::Conflict, "weapon command was based on a stale observation", "command.expectedRevision"));
198 Diagnostic::error(DiagnosticCode::Conflict, "weapon simulation tick must increase", "step.tick"));
Strongly typed, transaction-friendly resource cost protocol.
Weapon Attack to renderer-independent Action adapter.
Player-equivalent control adapter for one authoritative weapon action.
static Diagnostic error(DiagnosticCode code, std::string message, std::string path={}, DiagnosticDetails details={}, std::string source={})
Construct an error diagnostic with the standard error severity.
Definition Diagnostic.h:125
static std::optional< LogicalId > parse(std::string_view text)
Parses a scoped logical name.
Definition Identity.cpp:36
static Result failure(Status status)
Construct a failed result from a structured status.
Definition Result.h:175
static Status success(StatusCode code=StatusCode::Ok)
Construct a successful status with an explicit non-error outcome.
Definition Status.h:81
bool isValid() const noexcept
Return whether this reference is valid and non-nil.
Definition SubjectRef.h:38
Provider-neutral resource account contract.
Definition ResourceAccount.h:316
virtual eve::Result< Affordability > canAfford(const CostSpec &cost) const =0
Query whether a cost can be paid from currently available funds.
Synchronous participant contract for one coordinator transaction.
Definition Transaction.h:128
static eve::Result< std::optional< eve::resource::CostSpec > > resourceCost(const WeaponDefinition &weapon)
Convert the weapon trigger resource into a canonical cost.
Definition WeaponAction.cpp:69
static eve::Result< eve::transaction::TransactionReceipt > fire(const WeaponDefinition &weapon, eve::resource::IResourceAccount &account, eve::transaction::ITransactionParticipant &effect, std::string transactionId={})
Execute one already-built weapon effect and charge its resource atomically.
Definition WeaponAction.cpp:120
Result< std::vector< GameplayActionDescriptor > > availableGameplayActions(const GameplaySession &session, SubjectRef instance, SubjectRef subject) const override
Discover currently legal player-semantic actions for one subject.
Definition WeaponControl.cpp:110
Result< GameplayCommandReceipt > submitGameplay(const GameplaySession &session, SubjectRef instance, const GameplayCommand &command) override
Validate authority and atomically submit one domain command.
Definition WeaponControl.cpp:128
std::vector< SubjectRef > gameplayInstances() const override
Instances currently served, in publication order.
Definition WeaponControl.cpp:66
Result< std::vector< GameplayEvent > > gameplayEvents(const GameplaySession &session, SubjectRef instance, std::uint64_t afterSequence) const override
Return events strictly newer than an instance-local sequence cursor.
Definition WeaponControl.cpp:206
WeaponControl(SubjectRef instance, SubjectRef wielder, WeaponDefinition definition, resource::IResourceAccount &account, transaction::ITransactionParticipant &effect)
Construct a control adapter for one copied definition and borrowed effect authorities.
Definition WeaponControl.cpp:47
Result< GameplayObservation > advanceGameplay(const GameplaySession &session, SubjectRef instance, const SimulationStep &step) override
Advance one provider-owned instance using injected deterministic time.
Definition WeaponControl.cpp:193
~WeaponControl() override
Unpublish the capability without destroying borrowed authorities.
Definition WeaponControl.cpp:59
Result< GameplayObservation > observeGameplay(const GameplaySession &session, SubjectRef instance) const override
Observe one provider-owned gameplay instance without mutation.
Definition WeaponControl.cpp:79
std::string_view gameplayDomain() const noexcept override
Stable provider domain used for discovery and routing.
Definition WeaponControl.cpp:64
载具模块入口(eve.Vehicle):定义注册 / 实体工厂 / RTS 命令 / 帧调度。 设计文档:docs/dev/通用载具系统设计.md
Definition RTSArchetype.h:10
@ InvalidArgument
@ NotFound
@ PreconditionViolation
@ Unsupported
@ StaleHandle
@ Conflict
@ NoOp
@ Applied
@ PlayerEquivalent
Definition Container.h:602
Owning evidence that a gameplay authority accepted one command.
Definition GameplayControl.h:62
std::uint64_t resultingRevision
Definition GameplayControl.h:66
One player-semantic command submitted to a domain authority.
Definition GameplayControl.h:52
Owning event projection safe across frames and process boundaries.
Definition GameplayControl.h:71
Immutable owning observation of one authoritative gameplay instance.
Definition GameplayControl.h:43
Owning authorization context shared by player, script and automation adapters.
Definition GameplayControl.h:30
一次攻击请求(C++ 系统 / 脚本发起)。角度均为度。 旧名 FireRequest 保留为别名,向后兼容。
Definition WeaponTypes.h:204