载入中...
搜索中...
未找到
VehicleEffects.cpp
浏览该文件的文档.
20 const auto has = [&tags](const std::string& tag) { return std::find(tags.begin(), tags.end(), tag) != tags.end(); };
29 if (!std::isfinite(target.hull) || !std::isfinite(target.maxHull) || target.maxHull <= 0.0 || target.hull < 0.0 ||
79 return eve::Result<VehicleEffectUpdate>::success(std::move(result), eve::Status::success(eve::StatusCode::Applied));
82eve::Result<effects::EffectHandle> VehicleEffectAdapter::apply(const VehicleEffectDefinition& definition,
86 eve::DiagnosticCode::InvalidArgument, "vehicle effect requires id, zone and valid subject", "effect"));
124eve::Result<VehicleEffectUpdate> VehicleEffectAdapter::advance(const eve::SimulationStep& step) {
134 return eve::Result<VehicleEffectUpdate>::success(std::move(result), eve::Status::success(eve::StatusCode::Applied));
137VehicleEffectSnapshot VehicleEffectAdapter::snapshot() const { return {container_.snapshot(), target_}; }
Vehicle-domain effect adapter and armor-zone executor.
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 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
EffectContainer snapshot() const
Capture an independent lifecycle snapshot for staging/restore.
Definition EffectContainer.cpp:138
eve::Result< const EffectInstance * > resolve(EffectHandle handle) const
Resolve a generation-qualified handle for this call.
Definition EffectContainer.cpp:344
eve::Result< void > remove(const std::string &id, const std::string &reason="removed")
Removes one active instance and emits a Removed event.
Definition EffectContainer.cpp:375
EffectContainer clone() const
Create an independent deep copy suitable for ECS staging.
Definition EffectContainer.cpp:136
eve::Result< void > restore(const EffectContainer &snapshot)
Restore a previously captured snapshot as one observable commit.
Definition EffectContainer.cpp:140
Executes lifecycle time progression for an EffectContainer.
Definition EffectContainer.h:309
eve::Result< EffectUpdateSummary > advance(EffectContainer &container, double dtSeconds) const
Advances one container by a legacy seconds delta.
Definition EffectContainer.cpp:625
VehicleEffectSnapshot snapshot() const
Capture effects and target state.
Definition VehicleEffects.cpp:137
eve::Result< void > restore(const VehicleEffectSnapshot &snapshot)
Restore a snapshot and invalidate prior handles.
Definition VehicleEffects.cpp:139
eve::Result< const effects::EffectInstance * > resolve(effects::EffectHandle handle) const
Resolve a live handle as a borrowed observation.
Definition VehicleEffects.cpp:148
eve::Result< VehicleEffectUpdate > advance(const eve::SimulationStep &step)
Advance and settle vehicle effects atomically.
Definition VehicleEffects.cpp:124
eve::Result< effects::EffectHandle > apply(const VehicleEffectDefinition &definition, eve::SubjectRef subject)
Apply one typed vehicle effect to a stable subject.
Definition VehicleEffects.cpp:82
eve::Result< void > remove(effects::EffectHandle handle)
Remove one generation-qualified effect handle.
Definition VehicleEffects.cpp:118
eve::Result< VehicleEffectUpdate > settle(VehicleEffectTarget &target, effects::EffectUpdateSummary lifecycle) const
Settle common periodic triggers through vehicle armor policy.
Definition VehicleEffects.cpp:45
eve::Result< void > validate(const VehicleEffectTarget &target) const
Validate hull and armor invariants.
Definition VehicleEffects.cpp:28
eve::Result< void > applyImmediate(VehicleEffectTarget &target, const effects::EffectInstance &effect) const
Apply an immediate disable strategy to a staged target.
Definition VehicleEffects.cpp:37
@ InvalidArgument
@ InvariantViolation
@ Applied
Immutable-by-convention template used to create effect instances.
Definition EffectTypes.h:100
double period
Period in seconds for domain executor settlement; zero disables periodic ticks.
Definition EffectTypes.h:106
eve::Result< void > validate() const
Validates definition fields without changing any state.
Definition EffectTypes.cpp:61
Generation-qualified local reference to a canonical effect instance.
Definition EffectTypes.h:173
Summary returned by the lifecycle executor after one simulation step.
Definition EffectTypes.h:212
std::vector< EffectPeriodicTick > periodicTicks
Periodic triggers in deterministic container order.
Definition EffectTypes.h:216
Strong vehicle definition projected into the common lifecycle.
Definition VehicleEffects.h:36
effects::EffectContainer effects
Definition VehicleEffects.h:57
Mutable vehicle state changed by the effect executor.
Definition VehicleEffects.h:25
Result of one vehicle lifecycle step and armor settlement.
Definition VehicleEffects.h:49
std::uint32_t criticalHits
Definition VehicleEffects.h:52
effects::EffectUpdateSummary lifecycle
Definition VehicleEffects.h:50