A reimplementation of Mario Kart Wii's physics engine in C++
Loading...
Searching...
No Matches
ObjectOilSFC.cc
1#include "ObjectOilSFC.hh"
2
3#include "game/kart/KartCollide.hh"
4#include "game/kart/KartObject.hh"
5#include "game/kart/KartState.hh"
6
7namespace Field {
8
10ObjectOilSFC::ObjectOilSFC(const System::MapdataGeoObj &params) : ObjectCollidable(params) {}
11
13ObjectOilSFC::~ObjectOilSFC() = default;
14
15Kart::Reaction ObjectOilSFC::onCollision(Kart::KartObject *kartObj, Kart::Reaction reactionOnKart,
16 Kart::Reaction /*reactionOnObj*/, EGG::Vector3f &hitDepth) {
17 hitDepth = EGG::Vector3f::zero;
18 bool touchingGround = kartObj->status().onBit(Kart::eStatus::TouchingGround);
19 return touchingGround ? reactionOnKart : Kart::Reaction::None;
20}
21
22} // namespace Field
constexpr bool onBit(Es... es) const
Checks if any of the corresponding bits for the provided enum values are on.
Definition BitFlag.hh:379
The highest level abstraction for a kart.
Definition KartObject.hh:11
Pertains to collision.
@ TouchingGround
Set when any part of the vehicle is colliding with floor KCL.
A 3D float vector.
Definition Vector.hh:88