2017-05-09 13:27:07 +00:00
|
|
|
#include "Weapon/CFlameThrower.hpp"
|
2017-05-10 10:03:29 +00:00
|
|
|
#include "Weapon/CFlameInfo.hpp"
|
|
|
|
#include "Particle/CElementGen.hpp"
|
|
|
|
#include "GameGlobalObjects.hpp"
|
|
|
|
#include "CSimplePool.hpp"
|
|
|
|
#include "TCastTo.hpp"
|
2018-12-08 05:30:43 +00:00
|
|
|
namespace urde {
|
2017-05-09 13:27:07 +00:00
|
|
|
const zeus::CVector3f CFlameThrower::kLightOffset(0, 3.f, 2.f);
|
|
|
|
|
2017-11-13 06:19:18 +00:00
|
|
|
CFlameThrower::CFlameThrower(const TToken<CWeaponDescription>& wDesc, std::string_view name, EWeaponType wType,
|
2017-05-09 13:27:07 +00:00
|
|
|
const CFlameInfo& flameInfo, const zeus::CTransform& xf, EMaterialTypes matType,
|
2017-09-05 03:00:19 +00:00
|
|
|
const CDamageInfo& dInfo, TUniqueId uid, TAreaId aId, TUniqueId owner,
|
2018-12-31 08:37:52 +00:00
|
|
|
EProjectileAttrib attribs, CAssetId w2, s16 sId, CAssetId w3)
|
2017-09-05 03:00:19 +00:00
|
|
|
: CGameProjectile(false, wDesc, name, wType, xf, matType, dInfo, uid, aId, owner, kInvalidUniqueId, attribs, false,
|
2017-05-09 13:27:07 +00:00
|
|
|
zeus::CVector3f(1.f), {}, -1, false)
|
2017-05-10 10:03:29 +00:00
|
|
|
, x2e8_(xf)
|
2017-05-11 19:42:43 +00:00
|
|
|
, x33c_flameDesc(g_SimplePool->GetObj({FOURCC('PART'), flameInfo.GetFlameFxId()}))
|
2018-12-08 05:30:43 +00:00
|
|
|
, x348_flameGen(new CElementGen(x33c_flameDesc)) {}
|
2017-05-09 13:27:07 +00:00
|
|
|
|
2017-05-10 10:03:29 +00:00
|
|
|
void CFlameThrower::Accept(IVisitor& visitor) { visitor.Visit(this); }
|
|
|
|
|
2018-12-31 08:37:52 +00:00
|
|
|
void CFlameThrower::SetTransform(const zeus::CTransform& xf, float) { x2e8_ = xf; }
|
2017-05-18 10:58:15 +00:00
|
|
|
|
2017-05-20 07:41:49 +00:00
|
|
|
void CFlameThrower::Reset(CStateManager&, bool) {}
|
2017-05-18 10:58:15 +00:00
|
|
|
|
2017-05-20 07:41:49 +00:00
|
|
|
void CFlameThrower::Fire(const zeus::CTransform&, CStateManager&, bool) {}
|
2018-12-08 05:30:43 +00:00
|
|
|
} // namespace urde
|