载入中...
搜索中...
未找到
AnimClipRegistry.h
浏览该文件的文档.
1#pragma once
2#include "common/Export.h"
3
4
5#include "common/Result.h"
7
8#include <cstdint>
9#include <functional>
10#include <string>
11#include <vector>
12
13namespace eve::animation {
14
15class AnimClip;
16
31public:
33 struct ReloadEvent {
34 std::string path;
35 int clipsRefreshed = 0;
36 bool succeeded = false;
37 };
38 using ReloadCallback = std::function<void(const ReloadEvent&)>;
39
41 static void registerPath(const std::string& path, AnimClip* clip);
43 static void unregister(AnimClip* clip);
45 static std::vector<AnimClip*> findByPath(const std::string& path);
47 static bool hasPath(const std::string& path);
55 [[nodiscard]] static eve::Result<int> reloadPath(const std::string& path);
57 [[nodiscard("retain Subscription or explicitly dispose it")]] static eve::Subscription subscribeReload(
60 [[nodiscard]] static std::uint64_t reloadCallbackFailureCount();
62 static int count();
64 static void clear();
66 static std::string normalizePath(const std::string& path);
67};
68
69} // namespace eve::animation
#define EVENGINE_API_WORLD
Definition Export.h:109
glm::vec4 clip
std::string path
Definition PlayHost.cpp:110
Move-only, checked operation results for the common layer.
std::uint32_t count
ViewPreparation callback
Move-only operation result carrying either a value or Status.
Definition Result.h:155
Move-only RAII token that owns one observer registration.
Weak path→clip registry for animation hot reload.
std::function< void(const ReloadEvent &)> ReloadCallback
Keyframed skeletal animation clip (local TRS tracks per bone). Script type: AnimClip.
Definition AnimClip.h:145
Owning event value emitted after an EVA path reload attempt.