Kinoko
A reimplementation of Mario Kart Wii's physics engine in C++
Toggle main menu visibility
Loading...
Searching...
No Matches
ItemDirector.cc
1
#include "ItemDirector.hh"
2
3
#include "game/system/RaceConfig.hh"
4
5
namespace
Kinoko::Item
{
6
8
void
ItemDirector::init() {
9
for
(
auto
&kart : m_karts) {
10
kart.inventory().setItem(ItemId::TRIPLE_MUSHROOM);
11
}
12
}
13
15
void
ItemDirector::calc() {
16
for
(
auto
&kart : m_karts) {
17
kart.calc();
18
}
19
}
20
22
ItemDirector
*ItemDirector::CreateInstance() {
23
ASSERT(!s_instance);
24
s_instance = EGG::egg_new<ItemDirector>();
25
return
s_instance;
26
}
27
29
void
ItemDirector::DestroyInstance() {
30
ASSERT(s_instance);
31
auto
*instance = s_instance;
32
s_instance =
nullptr
;
33
EGG::egg_delete(instance);
34
}
35
37
ItemDirector::ItemDirector() {
38
size_t
playerCount = System::RaceConfig::Instance()->raceScenario().playerCount;
39
m_karts =
owning_span<KartItem>
(playerCount);
40
41
for
(
size_t
i = 0; i < playerCount; ++i) {
42
m_karts[i].init(i);
43
}
44
}
45
47
ItemDirector::~ItemDirector() {
48
if
(s_instance) {
49
s_instance =
nullptr
;
50
WARN(
"ItemDirector instance not explicitly handled!"
);
51
}
52
}
53
54
ItemDirector
*ItemDirector::s_instance =
nullptr
;
55
56
}
// namespace Kinoko::Item
Kinoko::Item::ItemDirector
Definition
ItemDirector.hh:19
Kinoko::owning_span
A contiguous storage container that manages the lifecycle of a buffer of a given size.
Definition
Types.hh:31
Kinoko::Item
Pertains to item handling.
Definition
ItemDirector.cc:5
game
item
ItemDirector.cc
Made by
Malleo
. Logo by
vabold
. Website generated by
Doxygen
1.17.0