载入中...
搜索中...
未找到
AttackVfxLayerExecutor.h
浏览该文件的文档.
1#pragma once
2#include "common/Export.h"
3
15
16#include <cstddef>
17#include <cstdint>
18
19namespace eve::stylize {
20
23 std::uint64_t id = 0;
24
26 friend bool operator==(const AttackVfxLayerHandle&, const AttackVfxLayerHandle&) = default;
28 [[nodiscard]] bool valid() const noexcept { return id != 0; }
29};
30
48
57public:
58 static constexpr const char* capabilityName = "eve.stylize.attack-vfx-layer-executor";
60 virtual ~IAttackVfxLayerExecutor() = default;
61
63 [[nodiscard]] virtual AttackVfxLayerRole role() const noexcept = 0;
64
70
75 [[nodiscard]] virtual Result<void> update(AttackVfxLayerHandle handle, double dtSeconds,
77
79 [[nodiscard]] virtual Result<void> stop(AttackVfxLayerHandle handle, AttackVfxStopBehavior behavior) = 0;
80};
81
82} // namespace eve::stylize
Duration start
Data-driven layered attack VFX recipe and element skin (Phase 1 schema).
Pooled AttackVfx orchestration with optional layer executors.
const GltfImportRequest & request
PrimitiveHandle handle
Move-only operation result carrying either a value or Status.
Definition Result.h:155
Optional open backend for one AttackVfxLayerRole.
virtual AttackVfxLayerRole role() const noexcept=0
Role this executor owns. One listener should own one role.
static constexpr const char * capabilityName
virtual Result< void > update(AttackVfxLayerHandle handle, double dtSeconds, const AttackVfxLayerStartRequest &request)=0
Advance one live layer with injected simulation seconds.
virtual Result< void > stop(AttackVfxLayerHandle handle, AttackVfxStopBehavior behavior)=0
Tear down one layer using the authored stop behavior.
virtual ~IAttackVfxLayerExecutor()=default
Releases IAttackVfxLayerExecutor resources.
AttackVfxLayerRole
Which existing presentation backend a layer binds to.
AttackVfxPhaseKind
Attack presentation phase along the cast → hit → linger timeline.
AttackVfxStopBehavior
Exit policy when a phase or instance stops.
Generation-qualified reference to one pooled attack VFX instance.
Opaque executor-owned layer instance identity.
friend bool operator==(const AttackVfxLayerHandle &, const AttackVfxLayerHandle &)=default
Operator ==.
Borrowed start context for one layer inside an entering phase.
std::uint64_t tickSerial
Monotonic serial from AttackVfxRuntime::advance; executors coalesce once-per-tick work.
One presentation layer slot inside a phase.
Reusable elemental / style skin applied at play time.