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
7#include "World.h"
8
9class OTrashBin : public OObject {
10public:
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
36private:
37 static Gfx BinMod[];
38 static Vtx BinVtx[];
39 static Vtx BinVtx2[];
40
44 float _scale;
45 size_t _idx;
46 bool _drawBin = false;
47};
static OObject * AddObjectToWorld(const SpawnParams &params)
Definition RegisterContent.h:10
OObject()
Definition Object.cpp:13
Behaviour
Definition TrashBin.h:12
@ STATIC
Definition TrashBin.h:13
@ MUNCHING
Definition TrashBin.h:14
IRotator _rot
Definition TrashBin.h:43
OTrashBin(const SpawnParams &params)
Definition TrashBin.cpp:22
size_t _idx
Definition TrashBin.h:45
void init_bb_trash_bin(s32)
Definition TrashBin.cpp:82
void func_8007E00C(s32 objectIndex)
Definition TrashBin.cpp:107
bool _drawBin
Definition TrashBin.h:46
float _scale
Definition TrashBin.h:44
static Vtx BinVtx[]
Definition TrashBin.h:193
static OTrashBin * Spawn(const FVector &pos, const IRotator &rot, f32 scale, OTrashBin::Behaviour bhv)
Definition TrashBin.h:18
static Gfx BinMod[]
Definition TrashBin.h:158
FVector _pos
Definition TrashBin.h:42
static Vtx BinVtx2[]
Definition TrashBin.h:216
virtual void Draw(s32 cameraId) override
Definition TrashBin.cpp:52
Behaviour _bhv
Definition TrashBin.h:41
virtual void Tick() override
Definition TrashBin.cpp:40
Definition CoreMath.h:30
Definition CoreMath.h:141
Definition SpawnParams.h:30