SpaghettiKart
Loading...
Searching...
No Matches
Trophy.h
Go to the documentation of this file.
1
#pragma once
2
3
#include <libultraship.h>
4
#include "
Object.h
"
5
#include "
engine/registry/RegisterContent.h
"
6
#include "
World.h
"
7
#include "
engine/particles/StarEmitter.h
"
8
9
extern
"C"
{
10
#include "
common_structs.h
"
11
}
12
13
class
OTrophy
:
public
OObject
{
14
public
:
15
enum
TrophyType
: int16_t {
16
BRONZE
,
17
SILVER
,
18
GOLD
,
19
BRONZE_150
,
20
SILVER_150
,
21
GOLD_150
,
22
};
23
24
enum
Behaviour
: int16_t {
25
PODIUM_CEREMONY
,
26
STATIONARY
,
27
ROTATE
,
// A dual-axis opposing rotation
28
ROTATE2
,
// A single-axis rotation
29
GO_FISH
,
30
};
31
32
// This is simply a helper function to keep Spawning code clean
33
static
OTrophy
*
Spawn
(
const
FVector
& pos,
TrophyType
trophy,
Behaviour
bhv) {
34
SpawnParams
params = {
35
.Name =
"mk:trophy"
,
36
.Type = trophy,
37
.Behaviour = bhv,
38
.Location = pos,
39
};
40
return
dynamic_cast<
OTrophy
*
>
(
AddObjectToWorld<OTrophy>
(params));
41
}
42
43
explicit
OTrophy
(
const
SpawnParams
& params);
44
45
virtual
void
SetSpawnParams
(
SpawnParams
& params)
override
;
46
virtual
void
Tick
()
override
;
47
virtual
void
Draw
(s32 cameraId)
override
;
48
virtual
void
DrawEditorProperties
()
override
;
49
void
func_80086700
(s32 objectIndex);
50
void
func_80086940
(s32 objectIndex);
51
void
func_80086C14
(s32 objectIndex);
52
void
func_80086C6C
(s32 objectIndex);
53
54
private
:
55
StarEmitter
*
_emitter
;
56
57
TrophyType
_type
;
58
Behaviour
_bhv
;
59
int8_t
_toggle
;
60
int8_t *
_toggleVisibility
;
61
Vec3f
_oldPos
;
62
bool
_isMod
=
false
;
63
};
Object.h
RegisterContent.h
AddObjectToWorld
static OObject * AddObjectToWorld(const SpawnParams ¶ms)
Definition
RegisterContent.h:10
StarEmitter.h
World.h
OObject::OObject
OObject()
Definition
Object.cpp:13
OTrophy::_isMod
bool _isMod
Definition
Trophy.h:62
OTrophy::OTrophy
OTrophy(const SpawnParams ¶ms)
Definition
Trophy.cpp:23
OTrophy::Draw
virtual void Draw(s32 cameraId) override
Definition
Trophy.cpp:226
OTrophy::Spawn
static OTrophy * Spawn(const FVector &pos, TrophyType trophy, Behaviour bhv)
Definition
Trophy.h:33
OTrophy::TrophyType
TrophyType
Definition
Trophy.h:15
OTrophy::SILVER
@ SILVER
Definition
Trophy.h:17
OTrophy::SILVER_150
@ SILVER_150
Definition
Trophy.h:20
OTrophy::GOLD_150
@ GOLD_150
Definition
Trophy.h:21
OTrophy::BRONZE
@ BRONZE
Definition
Trophy.h:16
OTrophy::BRONZE_150
@ BRONZE_150
Definition
Trophy.h:19
OTrophy::GOLD
@ GOLD
Definition
Trophy.h:18
OTrophy::_bhv
Behaviour _bhv
Definition
Trophy.h:58
OTrophy::_toggle
int8_t _toggle
Definition
Trophy.h:59
OTrophy::func_80086940
void func_80086940(s32 objectIndex)
Definition
Trophy.cpp:281
OTrophy::_emitter
StarEmitter * _emitter
Definition
Trophy.h:55
OTrophy::SetSpawnParams
virtual void SetSpawnParams(SpawnParams ¶ms) override
Definition
Trophy.cpp:98
OTrophy::func_80086C6C
void func_80086C6C(s32 objectIndex)
Definition
Trophy.cpp:361
OTrophy::DrawEditorProperties
virtual void DrawEditorProperties() override
Definition
Trophy.cpp:377
OTrophy::_type
TrophyType _type
Definition
Trophy.h:57
OTrophy::Tick
virtual void Tick() override
Definition
Trophy.cpp:105
OTrophy::Behaviour
Behaviour
Definition
Trophy.h:24
OTrophy::STATIONARY
@ STATIONARY
Definition
Trophy.h:26
OTrophy::PODIUM_CEREMONY
@ PODIUM_CEREMONY
Definition
Trophy.h:25
OTrophy::ROTATE
@ ROTATE
Definition
Trophy.h:27
OTrophy::GO_FISH
@ GO_FISH
Definition
Trophy.h:29
OTrophy::ROTATE2
@ ROTATE2
Definition
Trophy.h:28
OTrophy::func_80086700
void func_80086700(s32 objectIndex)
Definition
Trophy.cpp:270
OTrophy::_toggleVisibility
int8_t * _toggleVisibility
Definition
Trophy.h:60
OTrophy::func_80086C14
void func_80086C14(s32 objectIndex)
Definition
Trophy.cpp:350
OTrophy::_oldPos
Vec3f _oldPos
Definition
Trophy.h:61
StarEmitter
Definition
StarEmitter.h:22
common_structs.h
Vec3f
f32 Vec3f[3]
Definition
common_structs.h:10
FVector
Definition
CoreMath.h:30
SpawnParams
Definition
SpawnParams.h:30
src
engine
objects
Trophy.h
Generated by
1.13.2