LeviLamina
Loading...
Searching...
No Matches
LevelChunkEventManager.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/pub_sub/Connector.h"
7#include "mc/deps/core/utility/pub_sub/Publisher.h"
8#include "mc/world/level/chunk/ILevelChunkEventManagerConnector.h"
9
10// auto generated forward declare list
11// clang-format off
12class ChunkSource;
14class LevelChunk;
15namespace Bedrock::PubSub::ThreadModel { struct MultiThreaded; }
16// clang-format on
17
18class LevelChunkEventManager : public ::ILevelChunkEventManagerConnector {
19public:
20 // member variables
21 // NOLINTBEGIN
22 ::ll::TypedStorage<
23 8,
24 128,
25 ::Bedrock::PubSub::
27 mOnChunkLoadedPublisher;
28 ::ll::TypedStorage<
29 8,
30 128,
31 ::Bedrock::PubSub::
33 mOnChunkReloadedPublisher;
34 ::ll::TypedStorage<
35 8,
36 128,
38 mOnChunkDiscardedPublisher;
39 ::ll::TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::ILevelChunkEventManagerProxy>> const>
40 mLevelChunkEventManagerProxy;
41 // NOLINTEND
42
43public:
44 // prevent constructor by default
45 LevelChunkEventManager();
46
47public:
48 // virtual functions
49 // NOLINTBEGIN
50 virtual ~LevelChunkEventManager() /*override*/ = default;
51
52 virtual ::Bedrock::PubSub::Connector<void(::ChunkSource&, ::LevelChunk&, int)>&
53 getOnChunkLoadedConnector() /*override*/;
54
55 virtual ::Bedrock::PubSub::Connector<void(::ChunkSource&, ::LevelChunk&)>&
56 getOnChunkReloadedConnector() /*override*/;
57
58 virtual ::Bedrock::PubSub::Connector<void(::LevelChunk&)>& getOnChunkDiscardedConnector() /*override*/;
59 // NOLINTEND
60
61public:
62 // member functions
63 // NOLINTBEGIN
64 MCAPI explicit LevelChunkEventManager(
65 ::std::unique_ptr<::ILevelChunkEventManagerProxy> levelChunkEventManagerProxy
66 );
67
68 MCAPI void onChunkDiscarded(::LevelChunk& levelChunk);
69
70 MCAPI void onChunkLoaded(::ChunkSource& chunkSource, ::LevelChunk& levelChunk);
71
72 MCAPI void onChunkReloaded(::ChunkSource& chunkSource, ::LevelChunk& levelChunk);
73 // NOLINTEND
74
75public:
76 // constructor thunks
77 // NOLINTBEGIN
78 MCAPI void* $ctor(::std::unique_ptr<::ILevelChunkEventManagerProxy> levelChunkEventManagerProxy);
79 // NOLINTEND
80
81public:
82 // virtual function thunks
83 // NOLINTBEGIN
84 MCFOLD ::Bedrock::PubSub::Connector<void(::ChunkSource&, ::LevelChunk&, int)>& $getOnChunkLoadedConnector();
85
86 MCFOLD ::Bedrock::PubSub::Connector<void(::ChunkSource&, ::LevelChunk&)>& $getOnChunkReloadedConnector();
87
88 MCFOLD ::Bedrock::PubSub::Connector<void(::LevelChunk&)>& $getOnChunkDiscardedConnector();
89
90
91 // NOLINTEND
92
93public:
94 // vftables
95 // NOLINTBEGIN
96 MCAPI static void** $vftable();
97 // NOLINTEND
98};
Definition Publisher.h:8
Definition ChunkSource.h:37
Definition ILevelChunkEventManagerConnector.h:14
Definition ILevelChunkEventManagerProxy.h:11
Definition LevelChunk.h:87