A reimplementation of Mario Kart Wii's physics engine in C++
Loading...
Searching...
No Matches
ObjectFlamePole.hh
1#pragma once
2
3#include "game/field/obj/ObjectCollidable.hh"
4
5namespace Field {
6
8class ObjectFlamePole final : public ObjectCollidable {
9public:
11 ObjectFlamePole(const System::MapdataGeoObj &params, const EGG::Vector3f &pos,
12 const EGG::Vector3f &rot, const EGG::Vector3f &scale)
13 : ObjectCollidable("FlamePoleEff", pos, rot, scale) {}
14
16 ~ObjectFlamePole() override = default;
17
19 void calc() override {
20 if (m_isActive) {
21 resize(RADIUS * m_scale.y, 0.0f);
22 }
23 }
24
26 [[nodiscard]] u32 loadFlags() const override {
27 return 1;
28 }
29
30 [[nodiscard]] const char *getResources() const override {
31 return "FlamePole";
32 }
33
34 void setActive(bool isSet) {
35 m_isActive = isSet;
36 }
37
38 static constexpr f32 HEIGHT = 384.0f;
39
40private:
41 bool m_isActive;
42
43 static constexpr f32 RADIUS = 70.0f;
44};
45
46} // namespace Field
The flamepole that erupts from a geyser on Bowser's Castle.
Pertains to collision.
A 3D float vector.
Definition Vector.hh:88