载入中...
搜索中...
未找到
VegetationConverterController.h
浏览该文件的文档.
1#pragma once
2
5
6#include <cstdint>
7#include <optional>
8#include <string>
9#include <vector>
10
11namespace eve::editor {
12
18 std::uint64_t requestRevision = 0;
19 std::uint64_t preparedRevision = 0;
20 std::uint64_t publicationGeneration = 0;
21 std::size_t objectCount = 0;
22 std::size_t assetCount = 0;
23 std::size_t findingCount = 0;
24 std::vector<EditorDiagnostic> diagnostics;
25};
26
36
44
47public:
55 [[nodiscard]] virtual Result<std::uint64_t> publish(const asset_import::PreparedAssetImport& candidate,
56 std::uint64_t expectedGeneration) = 0;
57};
58
65public:
69
72 std::uint64_t expectedPublicationGeneration);
74 [[nodiscard]] Result<void> prepare();
76 [[nodiscard]] Result<std::uint64_t> publish();
78 [[nodiscard]] Result<void> clear();
80 [[nodiscard]] VegetationConverterState state() const;
81
82private:
83 const IVegetationConversionPreparer& preparer_;
85 std::optional<asset_import::UnityVegetationBatchImportRequest> request_;
86 std::optional<asset_import::PreparedAssetImport> candidate_;
88 std::uint64_t expectedPublicationGeneration_ = 0;
89};
90
91} // namespace eve::editor
#define EVENGINE_API_ORCHESTRATION
Definition Export.h:111
const GltfImportRequest & request
Move-only operation result carrying either a value or Status.
Definition Result.h:155
Worker boundary used to prepare a complete vegetation package candidate.
virtual Result< asset_import::PreparedAssetImport > prepare(const asset_import::UnityVegetationBatchImportRequest &request) const =0
Prepare an owning candidate without external mutation or retained request references.
virtual ~IVegetationConversionPreparer()=default
Releases IVegetationConversionPreparer resources.
Atomic host publication boundary for one prepared vegetation package.
virtual ~IVegetationConversionPublisher()=default
Releases IVegetationConversionPublisher resources.
virtual Result< std::uint64_t > publish(const asset_import::PreparedAssetImport &candidate, std::uint64_t expectedGeneration)=0
Publish one immutable complete candidate.
Built-in preparer backed by the canonical TVE batch transaction.
Result< asset_import::PreparedAssetImport > prepare(const asset_import::UnityVegetationBatchImportRequest &request) const override
Prepare.
UI-neutral TVE converter controller with revision-safe prepare and publish phases....
Owning, validated source archive candidate not yet published to disk/database.
Owning ordered set of independently converted vegetation objects published as one package.
Host-visible state of the TVE conversion tool.