metaforce/Runtime/World/CActorParameters.hpp

51 lines
1.6 KiB
C++
Raw Normal View History

2016-04-18 01:58:13 +00:00
#ifndef __URDE_CACTORPARAMETERS_HPP__
#define __URDE_CACTORPARAMETERS_HPP__
#include "CLightParameters.hpp"
#include "CScannableParameters.hpp"
#include "CVisorParameters.hpp"
namespace urde
{
class CActorParameters
{
2016-04-19 00:17:49 +00:00
friend class ScriptLoader;
2016-04-18 01:58:13 +00:00
CLightParameters x4_lightParms;
CScannableParameters x40_scanParms;
std::pair<ResId, ResId> x44_xrayAssets = {};
std::pair<ResId, ResId> x4c_thermalAssets = {};
CVisorParameters x54_visorParms;
bool b1 : 1;
bool b2 : 1;
bool b3 : 1;
bool b4 : 1;
float x5c_;
float x60_;
float x64_;
2016-04-18 01:58:13 +00:00
public:
CActorParameters()
: b1(true), b2(false), b3(false), b4(false) {}
CActorParameters(const CLightParameters& lightParms, const CScannableParameters& scanParms,
const std::pair<ResId, ResId>& xrayAssets, const std::pair<ResId, ResId>& thermalAssets,
const CVisorParameters& visorParms, bool a, bool b, bool c, bool d)
: x4_lightParms(lightParms), x40_scanParms(scanParms),
x44_xrayAssets(xrayAssets), x4c_thermalAssets(thermalAssets),
x54_visorParms(visorParms), b1(a), b2(b), b3(c), b4(d) {}
CActorParameters Scannable(const CScannableParameters& sParms) const
{
CActorParameters aParms = *this;
aParms.x40_scanParms = sParms;
return aParms;
}
2016-04-18 01:58:13 +00:00
static CActorParameters None() {return CActorParameters();}
2016-04-22 20:22:45 +00:00
2016-05-03 08:27:28 +00:00
void SetVisorParameters(const CVisorParameters& vParams) { x54_visorParms = vParams; }
2016-04-22 20:22:45 +00:00
CVisorParameters GetVisorParameters() const { return x54_visorParms; }
2016-04-18 01:58:13 +00:00
};
}
#endif // __URDE_CACTORPARAMETERS_HPP__