3#include "mc/_HeaderOutputPredefine.h"
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"
30 enum class LayerType :
int {
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;
62 ::ll::TypedStorage<8, 24, ::std::vector<::FogManager::Layer>> mFogLayers;
63 ::ll::TypedStorage<8, 8, ::std::reference_wrapper<::FogDefinition const>> mEngineDefault;
69 virtual ~FogManager() =
default;
78 _addToSetting(::FogTransitionSetting& setting, ::FogTransitionSetting
const& other,
float renderDistance)
const;
80 MCAPI
void _pushLayer(::FogManager::LayerType type, ::std::vector<::WeakRef<::FogDefinition const>> definitions);
82 MCAPI ::FogVolumetricCoefficientSetting
83 calculateCurrentCoefficientSetting(::FogDefinition::CoefficientSettingType settingType)
const;
85 MCAPI ::FogVolumetricDensitySetting
86 calculateCurrentDensitySetting(::FogDefinition::DensitySettingType settingType)
const;
88 MCAPI ::FogDistanceSetting
89 calculateCurrentDistanceSetting(::FogDefinition::DistanceSettingType settingType,
float renderDistance)
const;
91 MCAPI ::FogVolumetricHenyeyGreensteinGSetting
92 calculateCurrentHenyeyGreensteinGSetting(::FogDefinition::HenyeyGreensteinGSettingType settingType)
const;
94 MCAPI ::FogTransitionSetting
95 calculateCurrentTransitionSetting(::FogDefinition::DistanceSettingType settingType,
float renderDistance)
const;
97 MCAPI
void pushFogDefinitionAverageLayer(
98 ::FogManager::LayerType type,
99 ::std::vector<::WeakRef<::FogDefinition const>> definitions
102 MCAPI
void pushFogDefinitionLayer(::FogManager::LayerType type, ::WeakRef<::FogDefinition const>
const& definition);
104 MCAPI
void removeAllLayersOfType(::FogManager::LayerType type);
106 MCFOLD
void setEngineDefault(::FogDefinition
const& engineDefault);
108 MCAPI
void updateServerDirectedLayers(
109 ::std::vector<::std::string>
const& fogStack,
110 ::Bedrock::NotNullNonOwnerPtr<::FogDefinitionRegistry const> fogRegistry
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