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;
19namespace Bedrock::PubSub::ThreadModel { struct MultiThreaded; }
20namespace 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();
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 void createPhotoStorage();
72
73 MCAPI void createScreenshotsFolder(::std::string const& levelId, ::AppPlatform& appPlatform);
74 // NOLINTEND
75
76public:
77 // constructor thunks
78 // NOLINTBEGIN
79 MCAPI void* $ctor(::Bedrock::NonOwnerPointer<::LevelStorage> levelStorage, bool isClientSide);
80 // NOLINTEND
81
82public:
83 // destructor thunk
84 // NOLINTBEGIN
85 MCAPI void $dtor();
86 // NOLINTEND
87
88public:
89 // virtual function thunks
90 // NOLINTBEGIN
91 MCAPI ::Bedrock::PubSub::Connector<void(
93 ::Actor*,
94 ::Actor*,
96 ::std::function<void(::cg::ImageBuffer&, ::ScreenshotOptions&)>
97 )>&
98 $getPictureTakenConnector();
99
100
101 // NOLINTEND
102
103public:
104 // vftables
105 // NOLINTBEGIN
106 MCNAPI static void** $vftable();
107 // NOLINTEND
108};
Definition Actor.h:105
Definition AppPlatform.h:90
Definition NonOwnerPointer.h:9
Definition Publisher.h:8
Definition IPhotoManagerConnector.h:15
Definition LevelStorage.h:25
static MCAPI void ** $vftable()
Definition PhotoStorage.h:17
Definition ImageBuffer.h:16
Definition ScreenshotOptions.h:5