载入中...
搜索中...
未找到
ActionStateWindowBlock.h
浏览该文件的文档.
1#pragma once
2#include "common/Export.h"
3
4
8
9#include <cstdint>
10#include <optional>
11#include <string>
12
13namespace eve::action {
14
17
20 ActionStateWindowKind kind = ActionStateWindowKind::Hitbox;
22 std::string resource;
24 std::optional<std::size_t> targetIndex;
26 std::int32_t priority = 0;
27
29 [[nodiscard]] static Result<ActionStateWindowBinding> fromPayload(std::string_view type,
30 const Value::Object& payload);
31};
32
40public:
41 static constexpr const char* capabilityName = "eve.action.state-window-sink";
43 virtual ~IActionStateWindowSink() = default;
44
46 [[nodiscard]] virtual bool supports(ActionStateWindowKind kind) const noexcept = 0;
48 [[nodiscard]] virtual Result<void> enter(const ActionStateWindowBinding& binding,
49 const ActionTimelineEvent& event,
50 const ActionNotifyContext& context) = 0;
52 [[nodiscard]] virtual Result<void> exit(const ActionStateWindowBinding& binding,
53 const ActionTimelineEvent& event,
54 const ActionNotifyContext& context) = 0;
55};
56
57} // namespace eve::action
Extensible notify descriptors, validation and runtime routing.
Value::Object payload
int priority
#define EVENGINE_API_PLATFORM
Definition Export.h:107
TokenKind kind
eve::action::ActionVfxBinding binding
const VegetationPresetContext & context
Move-only operation result carrying either a value or Status.
Definition Result.h:155
std::map< std::string, Value > Object
Definition Value.h:34
Optional target-domain adapter for paired action state windows.
static constexpr const char * capabilityName
virtual Result< void > enter(const ActionStateWindowBinding &binding, const ActionTimelineEvent &event, const ActionNotifyContext &context)=0
Enter one validated window or idempotently observe the same active key.
virtual bool supports(ActionStateWindowKind kind) const noexcept=0
Whether this sink owns the supplied semantic window kind.
virtual Result< void > exit(const ActionStateWindowBinding &binding, const ActionTimelineEvent &event, const ActionNotifyContext &context)=0
Exit one previously entered window by execution and item identity.
virtual ~IActionStateWindowSink()=default
Releases IActionStateWindowSink resources.
ActionStateWindowKind
Stable semantic kind for one built-in state window.
Context linking a routed event to its action execution.
Owning validated state-window request authored on an action timeline.
std::optional< std::size_t > targetIndex
Optional target index; absence selects ActionNotifyContext::source.
std::string resource
Hitbox, input action, collision channel, cancel allow-list, or guard mode.
Owning event projection returned by the runtime sampler.