LeviLamina
Loading...
Searching...
No Matches
PhotoManager.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/file/PathBuffer.h"
7#include "mc/deps/core/utility/NonOwnerPointer.h"
8#include "mc/deps/core/utility/pub_sub/Connector.h"
9#include "mc/deps/core/utility/pub_sub/Publisher.h"
10#include "mc/world/level/IPhotoManagerConnector.h"
11
12// auto generated forward declare list
13// clang-format off
14class Actor;
15class AppPlatform;
16class LevelStorage;
17class PhotoStorage;
18namespace Bedrock::PubSub::ThreadModel { struct MultiThreaded; }
19namespace cg { class ImageBuffer; }
21// clang-format on
22
23class PhotoManager : public ::IPhotoManagerConnector {
24public:
25 // member variables
26 // NOLINTBEGIN
27 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::PhotoStorage>> mPhotoStorage;
28 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::LevelStorage> const> mLevelStorage;
29 ::ll::TypedStorage<8, 32, ::Core::PathBuffer<::std::string>> mScreenshotsFolder;
30 ::ll::TypedStorage<1, 1, bool const> mIsClientSide;
31 ::ll::TypedStorage<
32 8,
33 128,
35 void(
37 ::Actor*,
38 ::Actor*,
40 ::std::function<void(::cg::ImageBuffer&, ::ScreenshotOptions&)>
41 ),
43 0>>
44 mPictureTakenPublisher;
45 // NOLINTEND
46
47public:
48 // prevent constructor by default
49 PhotoManager();
50
51public:
52 // virtual functions
53 // NOLINTBEGIN
54 virtual ~PhotoManager() = default;
55
56 virtual ::Bedrock::PubSub::Connector<void(
58 ::Actor*,
59 ::Actor*,
61 ::std::function<void(::cg::ImageBuffer&, ::ScreenshotOptions&)>
62 )>&
63 getPictureTakenConnector() /*override*/;
64 // NOLINTEND
65
66public:
67 // member functions
68 // NOLINTBEGIN
69 MCAPI PhotoManager(::Bedrock::NonOwnerPointer<::LevelStorage> levelStorage, bool isClientSide);
70
71 MCAPI ::Core::PathBuffer<::std::string> _getPhotoStoragePath();
72
73 MCAPI void createPhotoStorage();
74
75 MCAPI void createScreenshotsFolder(::std::string const& levelId, ::AppPlatform& appPlatform);
76 // NOLINTEND
77
78public:
79 // constructor thunks
80 // NOLINTBEGIN
81 MCAPI void* $ctor(::Bedrock::NonOwnerPointer<::LevelStorage> levelStorage, bool isClientSide);
82 // NOLINTEND
83
84public:
85 // virtual function thunks
86 // NOLINTBEGIN
87 MCAPI ::Bedrock::PubSub::Connector<void(
89 ::Actor*,
90 ::Actor*,
92 ::std::function<void(::cg::ImageBuffer&, ::ScreenshotOptions&)>
93 )>&
94 $getPictureTakenConnector();
95
96
97 // NOLINTEND
98
99public:
100 // vftables
101 // NOLINTBEGIN
102 MCNAPI static void** $vftable();
103 // NOLINTEND
104};
Definition Actor.h:113
Definition AppPlatform.h:78
Definition NonOwnerPointer.h:9
Definition Publisher.h:25
Definition IPhotoManagerConnector.h:15
Definition LevelStorage.h:25
static MCAPI void ** $vftable()
Definition PhotoStorage.h:17
Definition ImageBuffer.h:16
Definition ScreenshotOptions.h:5