载入中...
搜索中...
未找到
PhysicsEditingProvider.cpp
浏览该文件的文档.
2
3#include <utility>
4
5namespace eve::physics_editing {
6namespace {
7class PhysicsEditingFactory final : public IPhysicsEditingFactory {
8public:
9 std::unique_ptr<PhysicsColliderPublishingTarget> createCollider(
10 std::string id, int dimensions, IPhysicsColliderRuntimeSink* sink) const override {
11 return std::make_unique<PhysicsColliderPublishingTarget>(std::move(id), dimensions, sink);
12 }
13};
14} // namespace
15
19 descriptor.id = "physics.editing";
20 descriptor.schemaVersion = 1;
21 descriptor.requiredModules = {"physics"};
22 return editing::registerStaticProvider(registry, std::move(descriptor),
24 std::make_shared<PhysicsEditingFactory>());
25}
26
27} // namespace eve::physics_editing
std::string descriptor
Move-only operation result carrying either a value or Status.
Definition Result.h:155
Thread-safe generation-qualified registry for editing extension providers.
static editing::CapabilityId capabilityId()
Return the stable capability id used with ProviderLease::query().
Result< ProviderHandle > registerStaticProvider(ExtensionProviderRegistry &registry, ExtensionDescriptor descriptor, CapabilityId capability, std::shared_ptr< void > implementation)
Register one owned capability behind the standard provider lifecycle.
editing::Result< editing::ProviderHandle > registerEditingProvider(editing::ExtensionProviderRegistry &registry)
Publish the physics editing factory into a host-owned extension registry.
ExtensionDescriptor public API.