2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-08-06 04:55:34 +00:00
metaforce/Runtime/World/CScriptVisorGoo.hpp
Lioncash cabbfcc320 CActor: Make AddToRenderer() non-const
This member function alters instance state in a few implementations, so
it shouldn't be made const.

The state manager parameter also shouldn't be const. Retrieved data
from the post constructed instance is further modified in some
implementations. This removes the constness on this parameter in order
to fix more const_cast usages in a follow-up change.
2020-04-06 00:52:10 -04:00

40 lines
1.3 KiB
C++

#pragma once
#include <string_view>
#include "Runtime/RetroTypes.hpp"
#include "Runtime/World/CActor.hpp"
#include <zeus/CColor.hpp>
namespace urde {
class CScriptVisorGoo : public CActor {
TToken<CGenDescription> xe8_particleDesc;
TToken<CElectricDescription> xf0_electricDesc;
u16 xf8_sfx;
CAssetId xfc_particleId;
CAssetId x100_electricId;
float x104_minDist;
float x108_maxDist;
float x10c_nearProb;
float x110_farProb;
zeus::CColor x114_color;
bool x118_24_angleTest : 1;
public:
CScriptVisorGoo(TUniqueId uid, std::string_view name, const CEntityInfo& info, const zeus::CTransform& xf,
CAssetId particle, CAssetId electric, float minDist, float maxDist, float nearProb, float farProb,
const zeus::CColor& color, int sfx, bool forceShow, bool active);
void Accept(IVisitor& visitor) override;
void Think(float, CStateManager& stateMgr) override;
void AcceptScriptMsg(EScriptObjectMessage msg, TUniqueId objId, CStateManager& stateMgr) override;
void AddToRenderer(const zeus::CFrustum&, CStateManager&) override;
void Render(const CStateManager&) const override;
std::optional<zeus::CAABox> GetTouchBounds() const override;
void Touch(CActor&, CStateManager&) override;
};
} // namespace urde