SpaghettiKart
Loading...
Searching...
No Matches
RaceManager.h
Go to the documentation of this file.
1#ifndef RACE_MANAGER_H
2#define RACE_MANAGER_H
3
4#include "defines.h"
5
6#ifdef __cplusplus
8extern "C" {
9#endif
10#include <libultraship/libultra/gbi.h>
11
12void add_triangle_to_collision_mesh(Vtx* vtx1, Vtx* vtx2, Vtx* vtx3, Vtx** outVtx1, Vtx** outVtx2, Vtx** outVtx3);
13
14#ifdef __cplusplus
15}
16#endif
17
18#ifdef __cplusplus
19class World;
20
37class RaceManager {
38public:
39 RaceManager(World& world);
40 virtual void Load(); // virtual required here in the base class to allow inherited classes to override
41 virtual void PreInit();
42 virtual void BeginPlay();
43 virtual void PostInit();
44 virtual void SetItemTables();
45 RandomItemTable* GetHumanItemTable() { return mHumanItemTable; }
46 RandomItemTable* GetCPUItemTable() { return mCPUItemTable; }
47protected:
48 World& WorldContext;
49 RandomItemTable* mHumanItemTable;
50 RandomItemTable* mCPUItemTable;
51 std::unordered_map<std::string, RandomItemTable> mItemTables;
52};
53
54#endif // __cplusplus
55
56EXTERN_C int16_t RaceManager_GetRandomHumanItem(uint32_t rank);
57EXTERN_C int16_t RaceManager_GetRandomCPUItem(uint32_t rank);
58
59#endif // RACE_MANAGER_H
EXTERN_C int16_t RaceManager_GetRandomHumanItem(uint32_t rank)
Definition RaceManager.cpp:167
void add_triangle_to_collision_mesh(Vtx *vtx1, Vtx *vtx2, Vtx *vtx3, Vtx **outVtx1, Vtx **outVtx2, Vtx **outVtx3)
Definition RaceManager.cpp:20
EXTERN_C int16_t RaceManager_GetRandomCPUItem(uint32_t rank)
Definition RaceManager.cpp:179
Definition World.h:40
#define EXTERN_C
Definition defines.h:9