A reimplementation of Mario Kart Wii's physics engine in C++
Loading...
Searching...
No Matches
ObjectHighwayManager.hh
1#pragma once
2
3#include "game/field/obj/ObjectCollidable.hh"
4
5namespace Kinoko::Field {
6
7class ObjectCarTGE;
8
9class ObjectHighwayManager : public ObjectCollidable {
10public:
11 ObjectHighwayManager();
12 ~ObjectHighwayManager() override;
13
14 void init() override;
15 void calc() override;
16
18 [[nodiscard]] LoadFlags loadFlags() const override {
20 }
21
23 void loadGraphics() override {}
24
26 void createCollision() override {}
27
29 void loadRail() override {}
30
31 [[nodiscard]] u32 squashTimer() const {
32 return m_squashTimer;
33 }
34
35private:
36 void calcSquash();
37
38 owning_span<ObjectCarTGE *> m_cars;
40
41 static constexpr u32 SQUASH_MAX = 600;
42};
43
44} // 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.
u32 m_squashTimer
Normally an array, one for each player.
Pertains to collision.