SpaghettiKart
Loading...
Searching...
No Matches
Crab.h
Go to the documentation of this file.
1#pragma once
2
3#include <libultraship.h>
4#include <vector>
7#include "CoreMath.h"
8#include "World.h"
9
10extern "C" {
11#include "macros.h"
12#include "main.h"
13#include "vehicles.h"
14#include "waypoints.h"
15#include "common_structs.h"
16#include "objects.h"
17#include "course_offsets.h"
18#include "some_data.h"
19}
20
32class OCrab : public OObject {
33public:
34 // This is simply a helper function to keep Spawning code clean
35 static inline OCrab* Spawn(const FVector2D& start, const FVector2D& end) {
36 SpawnParams params = {
37 .Name = "mk:crab",
38 .PatrolStart = start,
39 .PatrolEnd = end,
40 };
41 return static_cast<OCrab*>(AddObjectToWorld<OCrab>(params));
42 }
43
44 explicit OCrab(const SpawnParams& params);
45
47 _count--;
48 }
49
50 virtual void Tick() override;
51 virtual void Draw(s32 cameraId) override;
52 virtual void SetSpawnParams(SpawnParams& params) override;
53 virtual void DrawEditorProperties() override;
54
55 void DrawModel(s32 cameraId);
56
57 void init_ktb_crab(s32 objectIndex);
58 void func_80082B34(s32 objectIndex);
59 void func_80082C30(s32 objectIndex);
60 void func_80082E18(s32 objectIndex);
61
62private:
65 static size_t _count;
66 s32 _idx;
67};
static OObject * AddObjectToWorld(const SpawnParams &params)
Definition RegisterContent.h:10
void DrawModel(s32 cameraId)
Definition Crab.cpp:97
void func_80082B34(s32 objectIndex)
Definition Crab.cpp:144
~OCrab()
Definition Crab.h:46
static size_t _count
Definition Crab.h:65
virtual void Draw(s32 cameraId) override
Definition Crab.cpp:74
OCrab(const SpawnParams &params)
Definition Crab.cpp:32
void init_ktb_crab(s32 objectIndex)
Definition Crab.cpp:126
virtual void Tick() override
Definition Crab.cpp:57
FVector2D _end
Definition Crab.h:64
static OCrab * Spawn(const FVector2D &start, const FVector2D &end)
Definition Crab.h:35
s32 _idx
Definition Crab.h:66
virtual void SetSpawnParams(SpawnParams &params) override
Definition Crab.cpp:51
void func_80082E18(s32 objectIndex)
Definition Crab.cpp:205
void func_80082C30(s32 objectIndex)
Definition Crab.cpp:163
virtual void DrawEditorProperties() override
Definition Crab.cpp:211
FVector2D _start
Definition Crab.h:63
OObject()
Definition Object.cpp:13
Definition CoreMath.h:102
Definition SpawnParams.h:30