LeviLamina
Loading...
Searching...
No Matches
PostprocessingManager.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/platform/threading/UniqueLock.h"
7#include "mc/world/level/chunk/ChunkState.h"
8
9// auto generated forward declare list
10// clang-format off
11class ChunkPos;
12class ChunkSource;
13class LevelChunk;
14namespace Bedrock::Threading { class Mutex; }
15// clang-format on
16
17class PostprocessingManager {
18public:
19 // PostprocessingManager inner types declare
20 // clang-format off
21 struct LockedChunk;
22 // clang-format on
23
24 // PostprocessingManager inner types define
25 struct LockedChunk {
26 public:
27 // member variables
28 // NOLINTBEGIN
29 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::LevelChunk>> mChunk;
30 ::ll::TypedStorage<8, 16, ::Bedrock::Threading::UniqueLock<::Bedrock::Threading::Mutex>> mChunkLock;
31 // NOLINTEND
32 };
33
34public:
35 // member functions
36 // NOLINTBEGIN
37 MCAPI PostprocessingManager();
38
39 MCAPI ::std::optional<::std::vector<::PostprocessingManager::LockedChunk>>
40 tryLock(::ChunkPos const& center, ::ChunkSource& neighborhood, ::std::optional<::ChunkState> minimumChunkState);
41
42 MCAPI ~PostprocessingManager();
43 // NOLINTEND
44
45public:
46 // constructor thunks
47 // NOLINTBEGIN
48 MCFOLD void* $ctor();
49 // NOLINTEND
50
51public:
52 // destructor thunk
53 // NOLINTBEGIN
54 MCFOLD void $dtor();
55 // NOLINTEND
56};
Definition Mutex.h:10
Definition ChunkPos.h:11
Definition ChunkSource.h:37
Definition LevelChunk.h:87
Definition PostprocessingManager.h:25