Kinoko
A reimplementation of Mario Kart Wii's physics engine in C++
Loading...
Searching...
No Matches
KartObjectManager.hh
1
#pragma once
2
3
#include "game/kart/KartObject.hh"
4
5
#include <abstract/g3d/ResAnmChr.hh>
6
7
namespace
Kinoko {
8
9
namespace
Host {
10
11
class
Context;
12
13
}
// namespace Host
14
15
namespace
Kart {
16
20
class
KartObjectManager
:
EGG::Disposer
{
21
friend
class
Host::Context
;
22
23
public
:
24
void
init();
25
void
calc();
26
29
[[nodiscard]]
KartObject
*object(
size_t
i)
const
{
30
ASSERT(i < m_count);
31
return
m_objects[i];
32
}
34
35
static
KartObjectManager
*CreateInstance();
36
static
void
DestroyInstance();
37
38
[[nodiscard]]
static
const
Abstract::g3d::ResAnmChr
*ThunderScaleUpAnmChr() {
39
return
s_thunderScaleUpAnmChr;
40
}
41
42
[[nodiscard]]
static
const
Abstract::g3d::ResAnmChr
*ThunderScaleDownAnmChr() {
43
return
s_thunderScaleDownAnmChr;
44
}
45
46
[[nodiscard]]
static
const
Abstract::g3d::ResAnmChr
*PressScaleUpAnmChr() {
47
return
s_pressScaleUpAnmChr;
48
}
49
50
[[nodiscard]]
static
KartObjectManager
*Instance() {
51
return
s_instance;
52
}
53
54
private
:
55
KartObjectManager
();
56
~KartObjectManager
()
override
;
57
58
void
loadScaleAnimations();
59
60
size_t
m_count;
61
KartObject
**m_objects;
62
63
static
Abstract::g3d::ResAnmChr
*s_thunderScaleUpAnmChr;
64
static
Abstract::g3d::ResAnmChr
*s_thunderScaleDownAnmChr;
65
static
Abstract::g3d::ResAnmChr
*s_pressScaleUpAnmChr;
66
static
KartObjectManager
*s_instance;
67
};
68
69
}
// namespace Kart
70
71
}
// namespace Kinoko
Kinoko::Abstract::g3d::ResAnmChr
Represents the CHR0 file format, which pertains to model movement animations.
Definition
ResAnmChr.hh:46
Kinoko::EGG::Disposer
An interface for ensuring certain structures and classes are destroyed with the heap.
Definition
Disposer.hh:11
Kinoko::Host::Context
Contexts can be used to restore a previous memory state for the current session.
Definition
Context.hh:71
Kinoko::Kart::KartObjectManager
Responsible for the lifecycle and calculation of KartObjects.
Definition
KartObjectManager.hh:20
Kinoko::Kart::KartObject
The highest level abstraction for a kart.
Definition
KartObject.hh:11
game
kart
KartObjectManager.hh
Made by
Malleo
. Logo by
vabold
. Website generated by
Doxygen
1.12.0