27 [[nodiscard]] u32 loadFlags()
const override {
32 [[nodiscard]]
const char *getResources()
const override {
37 [[nodiscard]]
const char *getKclName()
const override {
41 void createCollision()
override;
42 void calcCollisionTransform()
override;
43 [[nodiscard]] f32 getCollisionRadius()
const override;
44 Kart::Reaction onCollision(
Kart::KartObject *kartObj, Kart::Reaction reactionOnKart,
45 Kart::Reaction reactionOnObj,
EGG::Vector3f &hitDepth)
override;
46 bool checkCollision(ObjectCollisionBase *lhs,
EGG::Vector3f &dist)
override;
47 [[nodiscard]]
const EGG::Vector3f &collisionCenter()
const override;
49 void setHighwayManager(
const ObjectHighwayManager *highwayMgr) {
50 m_highwayMgr = highwayMgr;
58 [[nodiscard]]
bool squashed()
const {
63 static constexpr f32 TOLL_BOOTH_ACCEL = 200.0f;
65 void enterStateStub();
72 const ObjectHighwayManager *m_highwayMgr;
73 ObjectCollisionBase *m_auxCollision;
85 bool m_hasAuxCollision;
88 static constexpr std::array<StateManagerEntry, 3> STATE_ENTRIES = {{
89 {StateEntry<ObjectCarTGE, &ObjectCarTGE::enterStateStub, &ObjectCarTGE::calcStateStub>(
91 {StateEntry<ObjectCarTGE, &ObjectCarTGE::enterStateStub, &ObjectCarTGE::calcState1>(1)},
92 {StateEntry<ObjectCarTGE, &ObjectCarTGE::enterStateStub, &ObjectCarTGE::calcState2>(2)},