A reimplementation of Mario Kart Wii's physics engine in C++
Loading...
Searching...
No Matches
ObjectShip64.hh
1#pragma once
2
3#include "game/field/ObjectCollisionCylinder.hh"
4#include "game/field/obj/ObjectCollidable.hh"
5
6namespace Kinoko::Field {
7
8class ObjectShip64 final : public ObjectCollidable {
9public:
10 ObjectShip64(const System::MapdataGeoObj &params);
11 ~ObjectShip64();
12
13 void init() override;
14 void calc() override;
15
17 [[nodiscard]] LoadFlags loadFlags() const override {
19 }
20
22 [[nodiscard]] const char *getResources() const override {
23 return "DKShip64";
24 }
25
27 [[nodiscard]] const char *getKclName() const override {
28 return "DKShip64";
29 }
30
31 void createCollision() override;
32 void calcCollisionTransform() override;
33 bool checkCollision(ObjectCollisionBase *lhs, EGG::Vector3f &dist) override;
34
35private:
36 EGG::Vector3f m_tangent;
37 ObjectCollisionCylinder *m_auxCollision;
38};
39
40} // 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.
Pertains to collision.