A reimplementation of Mario Kart Wii's physics engine in C++
Loading...
Searching...
No Matches
JugemDirector.cc
1#include "JugemDirector.hh"
2
3#include "game/kart/KartObjectManager.hh"
4
5namespace Kinoko::Field {
6
8JugemDirector *JugemDirector::CreateInstance() {
9 ASSERT(!s_instance);
10 s_instance = EGG::egg_new<JugemDirector>();
11 return s_instance;
12}
13
15JugemDirector *JugemDirector::Instance() {
16 return s_instance;
17}
18
20void JugemDirector::DestroyInstance() {
21 ASSERT(s_instance);
22 auto *instance = s_instance;
23 s_instance = nullptr;
24 EGG::egg_delete(instance);
25}
26
28JugemDirector::JugemDirector() : m_unit(nullptr) {}
29
31JugemDirector::~JugemDirector() {
32 EGG::egg_delete(m_unit);
33}
34
36void JugemDirector::createUnits() {
37 // Assumes one unit
38 const auto *kartObj = Kart::KartObjectManager::Instance()->object(0);
39 m_unit = EGG::egg_new<JugemUnit>(kartObj);
40
41 m_unit->createSwitchRace();
42}
43
44JugemDirector *JugemDirector::s_instance = nullptr;
45
46} // namespace Kinoko::Field
Manager class for the lifecycle of Jugem objects for players.
Pertains to collision.