SpaghettiKart
Loading...
Searching...
No Matches
TrashBin.h
Go to the documentation of this file.
1
#pragma once
2
3
#include <libultraship.h>
4
#include "
Object.h
"
5
6
#include "
engine/registry/RegisterContent.h
"
7
#include "
World.h
"
8
9
class
OTrashBin
:
public
OObject
{
10
public
:
11
12
enum
Behaviour
: int16_t {
13
STATIC
,
// The lid stays shut
14
MUNCHING
// The lid opens/closes in a scary munching manner
15
};
16
17
// This is simply a helper function to keep Spawning code clean
18
static
OTrashBin
*
Spawn
(
const
FVector
& pos,
const
IRotator
& rot, f32 scale,
OTrashBin::Behaviour
bhv) {
19
SpawnParams
params = {
20
.Name =
"mk:trash_bin"
,
21
.Behaviour = bhv,
22
.Location = pos,
23
.Rotation = rot,
24
.Scale =
FVector
(0, scale, 0),
25
};
26
return
dynamic_cast<
OTrashBin
*
>
(
AddObjectToWorld<OTrashBin>
(params));
27
}
28
29
explicit
OTrashBin
(
const
SpawnParams
& params);
30
31
virtual
void
Tick
()
override
;
32
virtual
void
Draw
(s32 cameraId)
override
;
33
void
func_8007E00C
(s32 objectIndex);
34
void
init_bb_trash_bin
(s32);
35
36
private
:
37
static
Gfx
BinMod
[];
38
static
Vtx
BinVtx
[];
39
static
Vtx
BinVtx2
[];
40
41
Behaviour
_bhv
;
42
FVector
_pos
;
43
IRotator
_rot
;
44
float
_scale
;
45
size_t
_idx
;
46
bool
_drawBin
=
false
;
47
};
Object.h
RegisterContent.h
AddObjectToWorld
static OObject * AddObjectToWorld(const SpawnParams ¶ms)
Definition
RegisterContent.h:10
World.h
OObject::OObject
OObject()
Definition
Object.cpp:13
OTrashBin::Behaviour
Behaviour
Definition
TrashBin.h:12
OTrashBin::STATIC
@ STATIC
Definition
TrashBin.h:13
OTrashBin::MUNCHING
@ MUNCHING
Definition
TrashBin.h:14
OTrashBin::_rot
IRotator _rot
Definition
TrashBin.h:43
OTrashBin::OTrashBin
OTrashBin(const SpawnParams ¶ms)
Definition
TrashBin.cpp:22
OTrashBin::_idx
size_t _idx
Definition
TrashBin.h:45
OTrashBin::init_bb_trash_bin
void init_bb_trash_bin(s32)
Definition
TrashBin.cpp:82
OTrashBin::func_8007E00C
void func_8007E00C(s32 objectIndex)
Definition
TrashBin.cpp:107
OTrashBin::_drawBin
bool _drawBin
Definition
TrashBin.h:46
OTrashBin::_scale
float _scale
Definition
TrashBin.h:44
OTrashBin::BinVtx
static Vtx BinVtx[]
Definition
TrashBin.h:193
OTrashBin::Spawn
static OTrashBin * Spawn(const FVector &pos, const IRotator &rot, f32 scale, OTrashBin::Behaviour bhv)
Definition
TrashBin.h:18
OTrashBin::BinMod
static Gfx BinMod[]
Definition
TrashBin.h:158
OTrashBin::_pos
FVector _pos
Definition
TrashBin.h:42
OTrashBin::BinVtx2
static Vtx BinVtx2[]
Definition
TrashBin.h:216
OTrashBin::Draw
virtual void Draw(s32 cameraId) override
Definition
TrashBin.cpp:52
OTrashBin::_bhv
Behaviour _bhv
Definition
TrashBin.h:41
OTrashBin::Tick
virtual void Tick() override
Definition
TrashBin.cpp:40
FVector
Definition
CoreMath.h:30
IRotator
Definition
CoreMath.h:141
SpawnParams
Definition
SpawnParams.h:30
src
engine
objects
TrashBin.h
Generated by
1.13.2