LeviLamina
Loading...
Searching...
No Matches
FogManager.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/EnableNonOwnerReferences.h"
7#include "mc/deps/core/utility/NonOwnerPointer.h"
8#include "mc/deps/game_refs/WeakRef.h"
9#include "mc/world/level/FogDefinition.h"
10
11// auto generated forward declare list
12// clang-format off
14struct FogDefinition;
20// clang-format on
21
23public:
24 // FogManager inner types declare
25 // clang-format off
26 struct Layer;
27 // clang-format on
28
29 // FogManager inner types define
30 enum class LayerType : int {
31 DataDefault = 0,
32 Biome = 1,
33 Volume = 2,
34 ServerDirected = 3,
35 };
36
37 struct Layer {
38 public:
39 // member variables
40 // NOLINTBEGIN
41 ::ll::TypedStorage<4, 4, ::FogManager::LayerType> mType;
42 ::ll::TypedStorage<8, 24, ::std::vector<::WeakRef<::FogDefinition const>>> mDefinitions;
43 ::ll::TypedStorage<4, 4, int> mPriority;
44 // NOLINTEND
45
46 public:
47 // member functions
48 // NOLINTBEGIN
49 MCAPI ~Layer();
50 // NOLINTEND
51
52 public:
53 // destructor thunk
54 // NOLINTBEGIN
55 MCAPI void $dtor();
56 // NOLINTEND
57 };
58
59public:
60 // member variables
61 // NOLINTBEGIN
62 ::ll::TypedStorage<8, 24, ::std::vector<::FogManager::Layer>> mFogLayers;
63 ::ll::TypedStorage<8, 8, ::std::reference_wrapper<::FogDefinition const>> mEngineDefault;
64 // NOLINTEND
65
66public:
67 // virtual functions
68 // NOLINTBEGIN
69 virtual ~FogManager() /*override*/ = default;
70 // NOLINTEND
71
72public:
73 // member functions
74 // NOLINTBEGIN
75 MCAPI FogManager();
76
77 MCAPI void
78 _addToSetting(::FogTransitionSetting& setting, ::FogTransitionSetting const& other, float renderDistance) const;
79
80 MCAPI void _pushLayer(::FogManager::LayerType type, ::std::vector<::WeakRef<::FogDefinition const>> definitions);
81
82 MCAPI ::FogVolumetricCoefficientSetting
83 calculateCurrentCoefficientSetting(::FogDefinition::CoefficientSettingType settingType) const;
84
85 MCAPI ::FogVolumetricDensitySetting
86 calculateCurrentDensitySetting(::FogDefinition::DensitySettingType settingType) const;
87
88 MCAPI ::FogDistanceSetting
89 calculateCurrentDistanceSetting(::FogDefinition::DistanceSettingType settingType, float renderDistance) const;
90
91 MCAPI ::FogVolumetricHenyeyGreensteinGSetting
92 calculateCurrentHenyeyGreensteinGSetting(::FogDefinition::HenyeyGreensteinGSettingType settingType) const;
93
94 MCAPI ::FogTransitionSetting
95 calculateCurrentTransitionSetting(::FogDefinition::DistanceSettingType settingType, float renderDistance) const;
96
97 MCAPI void pushFogDefinitionAverageLayer(
98 ::FogManager::LayerType type,
99 ::std::vector<::WeakRef<::FogDefinition const>> definitions
100 );
101
102 MCAPI void pushFogDefinitionLayer(::FogManager::LayerType type, ::WeakRef<::FogDefinition const> const& definition);
103
104 MCAPI void removeAllLayersOfType(::FogManager::LayerType type);
105
106 MCFOLD void setEngineDefault(::FogDefinition const& engineDefault);
107
108 MCAPI void updateServerDirectedLayers(
109 ::std::vector<::std::string> const& fogStack,
110 ::Bedrock::NotNullNonOwnerPtr<::FogDefinitionRegistry const> fogRegistry
111 );
112 // NOLINTEND
113
114public:
115 // constructor thunks
116 // NOLINTBEGIN
117 MCAPI void* $ctor();
118 // NOLINTEND
119
120public:
121 // vftables
122 // NOLINTBEGIN
123 MCNAPI static void** $vftable();
124 // NOLINTEND
125};
Definition EnableNonOwnerReferences.h:7
Definition FogDefinitionRegistry.h:5
Definition FogManager.h:5
static MCAPI void ** $vftable()
Definition FogDefinition.h:5
Definition FogDistanceSetting.h:5
Definition FogManager.h:15
Definition FogTransitionSetting.h:5
Definition FogVolumetricCoefficientSetting.h:5
Definition FogVolumetricDensitySetting.h:5
Definition FogVolumetricHenyeyGreensteinGSetting.h:5