载入中...
搜索中...
未找到
PcgInstancePublisher.cpp
浏览该文件的文档.
9 return eve::editing::rejected<editing::DomainOperation>(editing::RuleId(rule), std::move(message));
31 if (const auto* diagnostic = status.primaryDiagnostic()) return std::string(diagnostic->message());
41 if (batchId.empty()) return failOp("editor.pcg.publish.batch-id", "publish requires a non-empty batch id");
51 payload["assetAttribute"] = EditorValue(assetAttribute.empty() ? std::string("mesh") : assetAttribute);
61Result<editing::DomainOperation> PcgInstancePublisher::planRemove(const std::string& batchId) const {
78 return failVoid("editor.pcg.publish.type", "applyPublish requires a publishInstances operation");
80 if (batchId.empty()) return failVoid("editor.pcg.publish.batch-id", "publish payload is missing batchId");
84 procgen.publishInstances(batchId, points, assetAttribute.empty() ? "mesh" : assetAttribute, defaultAsset);
Procedural generation module. Phase A: runtime maps (semantic Grid2D → TileLayer)....
Definition Procgen.h:146
eve::Result< void > publishInstances(const std::string &batchId, ProcgenPointSetHandleRef points, const std::string &assetAttribute, const std::string &defaultAsset)
Definition Procgen.cpp:923
eve::Result< void > removeInstances(const std::string &batchId)
Removes instances.
Definition Procgen.cpp:943
Result< void > applyPublish(procgen::Procgen &procgen, const editing::DomainOperation &operation, procgen::ProcgenPointSetHandleRef points) const
Execute a planPublish operation with a live point-set handle.
Definition PcgInstancePublisher.cpp:74
static constexpr const char * kPublishType
Definition PcgInstancePublisher.h:20
static constexpr const char * kRemoveType
Definition PcgInstancePublisher.h:21
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.
Definition PcgInstancePublisher.cpp:38
Result< void > apply(procgen::Procgen &procgen, const editing::DomainOperation &operation) const
Execute a planRemove operation, or undo a publish by applying its inverse payload.
Definition PcgInstancePublisher.cpp:89
Result< editing::DomainOperation > planRemove(const std::string &batchId) const
Build a remove operation (inverse empty; redo requires a fresh publish plan).
Definition PcgInstancePublisher.cpp:61
Result< T > applied(T value, std::vector< Diagnostic > diagnostics={})
Construct an Applied result with an owning payload and optional diagnostics.
Definition EditingResult.h:43
const EditorValue * field(const EditorValue &value, const char *name)
Definition RoadNetworkEditTarget.cpp:15
Definition HeightmapBrush.h:9
Handle plus owner-lifetime epoch for a non-ECS registry object.
Definition RuntimeRegistry.h:91