LeviLamina
Loading...
Searching...
No Matches
IWorldTemplateHandler.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated forward declare list
6// clang-format off
7struct LevelSummary;
9namespace World { struct WorldID; }
10// clang-format on
11
12namespace World {
13
15public:
16 // IWorldTemplateHandler inner types define
17 enum class Result : int {
18 Success = 0,
19 MissingTemplate = 1,
20 LoadingError = 2,
21 };
22
23 enum class WriteTemplateError : uchar {
24 IncorrectWorldId = 0,
25 InsufficientDiskSpace = 1,
26 };
27
28public:
29 // virtual functions
30 // NOLINTBEGIN
31 virtual ~IWorldTemplateHandler() = default;
32
33 virtual void loadTemplate(
34 ::std::string const& templateId,
35 ::std::function<void(::std::variant<::World::WorldID, ::World::IWorldTemplateHandler::Result>)> onComplete
36 ) = 0;
37
38 virtual ::std::optional<::World::IWorldTemplateHandler::WriteTemplateError>
39 saveTemplate(::LevelSummary const& levelSummary) const = 0;
40
41 virtual bool isTemplateExportEnabled() const = 0;
42
43 virtual ::std::vector<::std::unique_ptr<::WorldTemplateInfo const>> const& getLocalTemplates() const = 0;
44 // NOLINTEND
45
46public:
47 // virtual function thunks
48 // NOLINTBEGIN
49
50 // NOLINTEND
51};
52
53} // namespace World
Definition IWorldTemplateHandler.h:7
Definition LevelSummary.h:30
Definition WorldTemplateInfo.h:12
Definition WorldID.h:7