mirror of
https://github.com/AxioDL/metaforce.git
synced 2025-12-14 22:06:10 +00:00
Implement CDroneLaser
This commit is contained in:
25
Runtime/MP1/World/CDroneLaser.hpp
Normal file
25
Runtime/MP1/World/CDroneLaser.hpp
Normal file
@@ -0,0 +1,25 @@
|
||||
#pragma once
|
||||
#include "Runtime/World/CActor.hpp"
|
||||
|
||||
namespace urde {
|
||||
class CElementGen;
|
||||
namespace MP1 {
|
||||
class CDroneLaser : public CActor {
|
||||
zeus::CVector3f xe8_ = zeus::skZero3f;
|
||||
TUniqueId xf4_scannerLight = kInvalidUniqueId;
|
||||
TLockedToken<CGenDescription> xf8_beamDesc;
|
||||
std::unique_ptr<CElementGen> x104_beamParticle;
|
||||
|
||||
void SetScannerLightActive(CStateManager& mgr, bool activate);
|
||||
void RenderBeam(u32 w, float f, const zeus::CColor& col, bool) const;
|
||||
public:
|
||||
CDroneLaser(TUniqueId uid, TAreaId aId, const zeus::CTransform& xf, CAssetId particle);
|
||||
void Accept(IVisitor& visitor) override;
|
||||
void Think(float dt, CStateManager& mgr) override;
|
||||
void AcceptScriptMsg(EScriptObjectMessage msg, TUniqueId sender, CStateManager& mgr) override;
|
||||
void AddToRenderer(const zeus::CFrustum& frustum, const CStateManager& mgr) const override;
|
||||
void Render(const CStateManager& mgr) const override;
|
||||
void CalculateRenderBounds() override;
|
||||
};
|
||||
} // namespace MP1
|
||||
} // namespace urde
|
||||
Reference in New Issue
Block a user