Kinoko
A reimplementation of Mario Kart Wii's physics engine in C++
Toggle main menu visibility
Loading...
Searching...
No Matches
ObjectFirebar.hh
1
#pragma once
2
3
#include "game/field/obj/ObjectCollidable.hh"
4
#include "game/field/obj/ObjectFireball.hh"
5
6
namespace
Kinoko::Field
{
7
8
class
ObjectFirebar :
public
ObjectCollidable {
9
public
:
10
ObjectFirebar(
const
System::MapdataGeoObj
¶ms);
11
~ObjectFirebar()
override
;
12
13
void
init()
override
;
14
void
calc()
override
;
15
17
[[nodiscard]]
LoadFlags
loadFlags
()
const override
{
18
return
LoadFlags
(
eLoadFlags::Calc
);
19
}
20
22
[[nodiscard]]
const
char
*getKclName()
const override
{
23
return
id() == ObjectId::WLFirebarGC ?
"WLfirebarGC"
:
"koopaFirebar"
;
24
}
25
26
private
:
27
owning_span<ObjectFireball *>
m_fireballs;
28
u32 m_spokes;
// The number of fireball "segments"
29
f32 m_angSpeed;
30
f32 m_degAngle;
31
EGG::Vector3f
m_axis;
32
EGG::Vector3f
m_initDir;
33
};
34
35
}
// namespace Kinoko::Field
Kinoko::Field::ObjectBase::LoadFlags
EGG::TBitFlag< u8, eLoadFlags > LoadFlags
A bitfield of eLoadFlags that represents the update requirements of the object.
Definition
ObjectBase.hh:36
Kinoko::Field::ObjectBase::eLoadFlags::Calc
@ Calc
The state of the object should be recalculated every frame.
Definition
ObjectBase.hh:30
Kinoko::Field::ObjectFirebar::loadFlags
LoadFlags loadFlags() const override
Returns a bitmask indicating which lifecycle hooks should be called for the object.
Definition
ObjectFirebar.hh:17
Kinoko::System::MapdataGeoObj
Definition
MapdataGeoObj.hh:9
Kinoko::owning_span
A contiguous storage container that manages the lifecycle of a buffer of a given size.
Definition
Types.hh:32
Kinoko::Field
Pertains to collision.
Definition
BoxColManager.cc:10
Kinoko::EGG::Vector3f
A 3D float vector.
Definition
Vector.hh:107
game
field
obj
ObjectFirebar.hh
Made by
Malleo
. Logo by
vabold
. Website generated by
Doxygen
1.17.0