Kinoko
A reimplementation of Mario Kart Wii's physics engine in C++
Loading...
Searching...
No Matches
ItemDirector.hh
1
#pragma once
2
3
#include "game/item/KartItem.hh"
4
5
#include <span>
6
7
namespace
Host
{
8
9
class
Context;
10
11
}
// namespace Host
12
14
namespace
Item
{
15
17
class
ItemDirector
:
EGG::Disposer
{
18
friend
class
Host::Context
;
19
20
public
:
21
void
init();
22
void
calc();
23
24
[[nodiscard]]
KartItem
&kartItem(
size_t
idx) {
25
ASSERT(idx < m_karts.size());
26
return
m_karts[idx];
27
}
28
29
static
ItemDirector
*CreateInstance();
30
static
void
DestroyInstance();
31
32
[[nodiscard]]
const
ItemInventory
&itemInventory(s16 idx)
const
{
33
return
m_karts[idx].inventory();
34
}
35
36
[[nodiscard]]
static
ItemDirector
*Instance() {
37
return
s_instance;
38
}
39
40
private
:
41
ItemDirector
();
42
~ItemDirector
()
override
;
43
44
std::span<KartItem> m_karts;
45
46
static
ItemDirector
*s_instance;
47
};
48
49
}
// namespace Item
EGG::Disposer
An interface for ensuring certain structures and classes are destroyed with the heap.
Definition
Disposer.hh:11
Host::Context
Contexts can be used to restore a previous memory state for the current session.
Definition
Context.hh:59
Item::ItemDirector
Definition
ItemDirector.hh:17
Item::ItemInventory
Definition
ItemInventory.hh:8
Item::KartItem
State management for item usage.
Definition
KartItem.hh:13
Host
Represents the host application.
Definition
HeapCommon.hh:9
Item
Pertains to item handling.
Definition
ItemDirector.cc:5
game
item
ItemDirector.hh
Made by
Malleo
. Logo by
vabold
. Website generated by
Doxygen
1.12.0