33#ifndef DVD_ENVIRONMENT_PROBE_COMPONENT_H_
34#define DVD_ENVIRONMENT_PROBE_COMPONENT_H_
51 struct MemoryBarrierCommand;
72 inline static const char* updateType[] = {
73 "Always",
"On Dirty",
"On Rate",
"Once",
"ERROR!"
84 bool checkCollisionAndQueueUpdate(
const BoundingSphere& sphere)
noexcept;
86 void updateType(UpdateType type);
89 void setBounds(
const vec3<F32>& center,
F32 radius)
noexcept;
91 void loadFromXML(
const boost::property_tree::ptree& pt)
override;
93 [[nodiscard]]
F32 distanceSqTo(
const vec3<F32>& pos)
const noexcept;
99 [[nodiscard]]
bool enabled()
const override;
100 void enabled(
bool state)
override;
113 void poolIndex(
U16 index)
noexcept;
119 void updateProbeData() const noexcept;
124 U8 _currentUpdateCall = 0u;
128 bool _queueRefresh =
true;
129 bool _drawImpostor =
false;
#define BEGIN_COMPONENT_EXT1(Name, Enum, Base1)
#define END_COMPONENT(Name)
PROPERTY_RW(bool, showParallaxAABB, false)
PROPERTY_R_IW(U16, rtLayerIndex, 0u)
PROPERTY_RW(bool, dirty, true)
PROPERTY_RW(U8, updateRate, 1u)
void queueRefresh() noexcept
PROPERTY_R(U16, poolIndex, 0u)
PROPERTY_R(UpdateType, updateType, UpdateType::ON_DIRTY)
const BoundingBox & getBounds() const noexcept
Utility class that adds basic GUID management to objects.
EnvironmentProbeComponent::UpdateType StringToEnvProveUpdateType(const char *name) noexcept
const char * EnvProveUpdateTypeToString(const EnvironmentProbeComponent::UpdateType type) noexcept
Handle console commands that start with a forward slash.
void OnData(const ECS::CustomEvent &data) override