A reimplementation of Mario Kart Wii's physics engine in C++
Loading...
Searching...
No Matches
ObjectFireRing.hh
1#pragma once
2
3#include "game/field/obj/ObjectCollidable.hh"
4#include "game/field/obj/ObjectFireball.hh"
5
6namespace Kinoko::Field {
7
8class ObjectFireRing : public ObjectCollidable {
9public:
10 ObjectFireRing(const System::MapdataGeoObj &params);
11 ~ObjectFireRing() override;
12
13 void init() override;
14 void calc() override;
15
17 [[nodiscard]] LoadFlags loadFlags() const override {
19 }
20
22 void createCollision() override {}
23
24private:
26 f32 m_angSpeed;
27 f32 m_degAngle;
28 EGG::Vector3f m_axis;
29 EGG::Vector3f m_initDir;
30 f32 m_radiusScale;
31 f32 m_phase;
32};
33
34} // namespace Kinoko::Field
EGG::TBitFlag< u8, eLoadFlags > LoadFlags
A bitfield of eLoadFlags that represents the update requirements of the object.
Definition ObjectBase.hh:36
@ Calc
The state of the object should be recalculated every frame.
Definition ObjectBase.hh:30
LoadFlags loadFlags() const override
Returns a bitmask indicating which lifecycle hooks should be called for the object.
A contiguous storage container that manages the lifecycle of a buffer of a given size.
Definition Types.hh:32
Pertains to collision.
A 3D float vector.
Definition Vector.hh:107