LeviLamina
Loading...
Searching...
No Matches
LevelChunkSaveManagerProxy.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/game_refs/WeakRef.h"
7#include "mc/platform/brstd/move_only_function.h"
8#include "mc/world/level/chunk/ILevelChunkSaveManagerProxy.h"
9
10// auto generated forward declare list
11// clang-format off
12class ChunkPos;
13class Dimension;
15class LevelChunk;
16class Random;
17class Scheduler;
18class TaskGroup;
19class TaskResult;
20// clang-format on
21
22class LevelChunkSaveManagerProxy : public ::ILevelChunkSaveManagerProxy {
23public:
24 // member variables
25 // NOLINTBEGIN
26 ::ll::TypedStorage<8, 8, ::Random&> mRandom;
27 ::ll::TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::TaskGroup>>> mTaskGroup;
28 // NOLINTEND
29
30public:
31 // prevent constructor by default
32 LevelChunkSaveManagerProxy& operator=(LevelChunkSaveManagerProxy const&);
33 LevelChunkSaveManagerProxy(LevelChunkSaveManagerProxy const&);
34 LevelChunkSaveManagerProxy();
35
36public:
37 // virtual functions
38 // NOLINTBEGIN
39 virtual ~LevelChunkSaveManagerProxy() /*override*/ = default;
40
41 virtual ::WeakRef<::Dimension> getRandomDimension(::DimensionManager& dimensionManager) const /*override*/;
42
43 virtual ::std::shared_ptr<::LevelChunk> getRandomChunk(::Dimension& dimension) const /*override*/;
44
45 virtual ::std::shared_ptr<::LevelChunk> getChunk(::Dimension& dimension, ::ChunkPos const& chunkPos) const
46 /*override*/;
47
48 virtual bool doesNonActorDataInLevelChunkNeedSaving(
49 ::LevelChunk const& levelChunk,
50 int minTicksBeforeLiveSave,
51 int maxTicksBeforeLiveSave
52 ) const /*override*/;
53
54 virtual bool doesLevelChunkNeedSaving(
55 ::LevelChunk const& levelChunk,
56 int minTicksBeforeLiveSave,
57 int maxTicksBeforeLiveSave
58 ) const /*override*/;
59
60 virtual void saveLiveChunk(::Dimension& dimension, ::LevelChunk& levelChunk) /*override*/;
61
62 virtual void queueTaskForChunkSave(::brstd::move_only_function<::TaskResult()>&& task) /*override*/;
63
64 virtual void startLeaveGame() /*override*/;
65 // NOLINTEND
66
67public:
68 // member functions
69 // NOLINTBEGIN
70 MCAPI LevelChunkSaveManagerProxy(::Random& random, ::Scheduler& scheduler);
71 // NOLINTEND
72
73public:
74 // constructor thunks
75 // NOLINTBEGIN
76 MCAPI void* $ctor(::Random& random, ::Scheduler& scheduler);
77 // NOLINTEND
78
79public:
80 // virtual function thunks
81 // NOLINTBEGIN
82 MCAPI ::WeakRef<::Dimension> $getRandomDimension(::DimensionManager& dimensionManager) const;
83
84 MCAPI ::std::shared_ptr<::LevelChunk> $getRandomChunk(::Dimension& dimension) const;
85
86 MCAPI ::std::shared_ptr<::LevelChunk> $getChunk(::Dimension& dimension, ::ChunkPos const& chunkPos) const;
87
88 MCAPI bool $doesNonActorDataInLevelChunkNeedSaving(
89 ::LevelChunk const& levelChunk,
90 int minTicksBeforeLiveSave,
91 int maxTicksBeforeLiveSave
92 ) const;
93
94 MCAPI bool $doesLevelChunkNeedSaving(
95 ::LevelChunk const& levelChunk,
96 int minTicksBeforeLiveSave,
97 int maxTicksBeforeLiveSave
98 ) const;
99
100 MCAPI void $saveLiveChunk(::Dimension& dimension, ::LevelChunk& levelChunk);
101
102 MCAPI void $queueTaskForChunkSave(::brstd::move_only_function<::TaskResult()>&& task);
103
104 MCAPI void $startLeaveGame();
105
106
107 // NOLINTEND
108
109public:
110 // vftables
111 // NOLINTBEGIN
112 MCAPI static void** $vftable();
113 // NOLINTEND
114};
Definition ChunkPos.h:11
Definition DimensionManager.h:30
Definition Dimension.h:89
Definition ILevelChunkSaveManagerProxy.h:18
Definition LevelChunk.h:87
Definition Random.h:10
Definition Scheduler.h:15
Definition TaskGroup.h:55
Definition TaskResult.h:5
Definition move_only_function.h:9