载入中...
搜索中...
未找到
StylizeAction.h
浏览该文件的文档.
1#pragma once
2#include "common/Export.h"
3
13#include "common/Module.h"
14#include "common/Result.h"
16
17#include <cstdint>
18#include <string>
19#include <string_view>
20
21namespace eve::stylize_action {
22
31public:
33
37 ~StylizeAction() override;
38
40 [[nodiscard]] eve::stylize::AttackVfxRuntime& runtime() noexcept { return runtime_; }
41 [[nodiscard]] const eve::stylize::AttackVfxRuntime& runtime() const noexcept { return runtime_; }
42
47 [[nodiscard]] eve::Result<void> registerRecipeJson(std::string_view json);
48
53 [[nodiscard]] eve::Result<void> registerSkinJson(std::string_view json);
54
61 [[nodiscard]] eve::Result<eve::stylize::AttackVfxHandle> play(std::string_view recipeId,
62 std::uint32_t sourceId,
63 std::uint32_t targetId);
64
71 [[nodiscard]] eve::Result<eve::stylize::AttackVfxFrame> signal(std::uint32_t slot,
72 std::uint32_t generation,
73 std::string_view cue);
74
76 [[nodiscard]] eve::Result<eve::stylize::AttackVfxFrame> advance(double dtSeconds);
77
82 [[nodiscard]] eve::Result<eve::stylize::AttackVfxFrame> stop(std::uint32_t slot,
83 std::uint32_t generation,
84 std::string_view mode);
85
87 [[nodiscard]] eve::Result<eve::stylize::AttackVfxInstanceState> inspect(std::uint32_t slot,
88 std::uint32_t generation);
89
91 [[nodiscard]] std::size_t activeCount() const noexcept;
92
93private:
94 eve::stylize::AttackVfxRuntime runtime_;
95};
96
97} // namespace eve::stylize_action
Pooled AttackVfx orchestration with optional layer executors.
std::uint64_t sourceId
#define EVENGINE_API_DOMAINS
Definition Export.h:110
std::uint32_t generation
std::uint32_t targetId
Move-only, checked operation results for the common layer.
EVENGINE_API_FOUNDATION public API.
Definition Module.h:46
Move-only operation result carrying either a value or Status.
Definition Result.h:155
Deterministic pooled runtime for AttackVfxRecipe instances.
Composition entry for AttackVfx Action notify handlers and layer bridges.
eve::stylize::AttackVfxRuntime & runtime() noexcept
Borrowed module-owned runtime used by Action handlers and tests.
const eve::stylize::AttackVfxRuntime & runtime() const noexcept
Build metadata (engine git commit, build time, third-party version).
Definition Build.cpp:16