metaforce/Runtime/World/CScriptAreaAttributes.hpp

40 lines
1.3 KiB
C++
Raw Normal View History

2016-04-23 18:04:49 +00:00
#ifndef __URDE_CSCRIPTAREAATTRIBUTES_HPP__
#define __URDE_CSCRIPTAREAATTRIBUTES_HPP__
#include "CEntity.hpp"
#include "CEnvFxManager.hpp"
namespace urde
{
class CScriptAreaAttributes : public CEntity
{
bool x34_24_showSkybox : 1;
EEnvFxType x38_envFx;
float x3c_envFxDensity;
float x40_thermalHeat;
float x44_xrayFogDistance;
float x48_worldLightingLevel;
2017-08-13 05:26:14 +00:00
CAssetId x4c_skybox;
2016-04-23 18:04:49 +00:00
EPhazonType x50_phazon;
2016-04-23 18:04:49 +00:00
public:
CScriptAreaAttributes(TUniqueId uid, const CEntityInfo& info, bool showSkybox, EEnvFxType fxType,
float envFxDensity, float thermalHeat, float xrayFogDistance, float worldLightingLevel,
2017-08-13 05:26:14 +00:00
CAssetId skybox, EPhazonType phazonType);
2016-04-23 18:04:49 +00:00
2017-01-15 03:07:01 +00:00
void Accept(IVisitor& visitor);
void AcceptScriptMsg(EScriptObjectMessage msg, TUniqueId objId, CStateManager& stateMgr);
bool GetNeedsSky() const { return x34_24_showSkybox; }
bool GetNeedsEnvFx() const { return x38_envFx != EEnvFxType::None; }
float GetEnvFxDensity() const { return x3c_envFxDensity; }
float GetThermalHeat() const { return x40_thermalHeat; }
float GetXRayFogDistance() const { return x44_xrayFogDistance; }
float GetWorldLightingLevel() const { return x48_worldLightingLevel; }
2017-08-20 05:23:22 +00:00
EPhazonType GetPhazonType() const { return x50_phazon; }
2016-04-23 18:04:49 +00:00
};
}
#endif // __URDE_CSCRIPTAREAATTRIBUTES_HPP__