载入中...
搜索中...
未找到
PcgInstancePublisher.h
浏览该文件的文档.
1#pragma once
2
4#include "procgen/Procgen.h"
6
7#include <string>
8
9namespace eve::procgen_editing {
10
19public:
20 static constexpr const char* kPublishType = "procgen.pcg.publishInstances.v1";
21 static constexpr const char* kRemoveType = "procgen.pcg.removeInstances.v1";
22
25 const std::string& batchId, const std::string& assetAttribute = "mesh",
26 const std::string& defaultAsset = {}) const;
27
29 [[nodiscard]] Result<editing::DomainOperation> planRemove(const std::string& batchId) const;
30
32 [[nodiscard]] Result<void> applyPublish(procgen::Procgen& procgen,
35
40 [[nodiscard]] Result<void> apply(procgen::Procgen& procgen,
42};
43
44} // namespace eve::procgen_editing
ActionParameterOperation operation
std::shared_ptr< const std::vector< glm::vec2 > > points
Move-only operation result carrying either a value or Status.
Definition Result.h:155
Procedural generation module. Phase A: runtime maps (semantic Grid2D → TileLayer)....
Definition Procgen.h:146
Undoable publish/remove of spawn.mesh PointSet batches through Procgen scene sink.
Result< void > applyPublish(procgen::Procgen &procgen, const editing::DomainOperation &operation, procgen::ProcgenPointSetHandleRef points) const
Execute a planPublish operation with a live point-set handle.
Result< editing::DomainOperation > planPublish(const std::string &batchId, const std::string &assetAttribute="mesh", const std::string &defaultAsset={}) const
Build a publish operation whose inverse removes the same batch id.
Result< void > apply(procgen::Procgen &procgen, const editing::DomainOperation &operation) const
Execute a planRemove operation, or undo a publish by applying its inverse payload.
Result< editing::DomainOperation > planRemove(const std::string &batchId) const
Build a remove operation (inverse empty; redo requires a fresh publish plan).
DomainOperation public API.
Handle plus owner-lifetime epoch for a non-ECS registry object.