LeviLamina
Loading...
Searching...
No Matches
EditorJigsawServiceProvider.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/common/editor/JigsawJsonType.h"
7
8// auto generated forward declare list
9// clang-format off
10class BlockPos;
13class WeakEntityRef;
14namespace Bedrock::PubSub { class Subscription; }
15namespace Editor::ScriptModule { class ScriptClipboardItem; }
16namespace Editor::Services { struct EditorJigsawSection; }
17namespace Editor::Services { struct EditorRegistryFile; }
18// clang-format on
19
20namespace Editor::Services {
21
23public:
24 // virtual functions
25 // NOLINTBEGIN
26 virtual ~EditorJigsawServiceProvider() = default;
27
28 virtual ::std::string getJigsawExportDirectory() = 0;
29
30 virtual ::std::map<::Editor::Services::JigsawJsonType, ::std::string> getEmptyJigsawFiles() = 0;
31
32 virtual ::std::vector<::std::string> getJigsawRegistryList() = 0;
33
34 virtual ::JigsawStructureRegistry* getJigsawRegistry(::std::string const&) = 0;
35
36 virtual void setJigsawRegistry(
37 ::std::string const&,
38 ::std::map<::Editor::Services::JigsawJsonType, ::std::vector<::Editor::Services::EditorRegistryFile>>,
39 bool
40 ) = 0;
41
42 virtual ::std::map<::Editor::Services::JigsawJsonType, ::std::vector<::Editor::Services::EditorRegistryFile>>
43 getJigsawRegistryJson(::std::string const&) = 0;
44
45 virtual void generateJigsawPreview(
46 ::std::string const&,
47 ::std::string const&,
48 ::std::string const&,
49 ::BlockPos const&,
50 int,
51 int const,
52 bool const,
55 ) = 0;
56
57 virtual ::JigsawEditorData const getJigsawBlockData(::BlockPos&, ::WeakEntityRef) = 0;
58
59 virtual void setJigsawBlockData(::BlockPos&, ::WeakEntityRef, ::JigsawEditorData) = 0;
60
61 virtual ::Bedrock::PubSub::Subscription
62 listenForSetJigsawRegistry(::std::function<void(::std::vector<::std::string>)>) = 0;
63
64 virtual ::Bedrock::PubSub::Subscription listenForGenerateJigsawPreview(
65 ::std::function<void(::std::vector<::Editor::Services::EditorJigsawSection>)>
66 ) = 0;
67 // NOLINTEND
68
69public:
70 // virtual function thunks
71 // NOLINTBEGIN
72
73 // NOLINTEND
74};
75
76} // namespace Editor::Services
Definition Subscription.h:10
Definition BlockPos.h:19
Definition ScriptClipboardItem.h:25
Definition EditorJigsawServiceProvider.h:22
Definition JigsawEditorData.h:14
Definition JigsawStructureRegistry.h:22
Definition WeakEntityRef.h:14
Definition EditorJigsawSection.h:7
Definition EditorRegistryFile.h:7