summaryrefslogtreecommitdiff
path: root/src/engine/objects/Podium.h
blob: 52cef07615c4ca2d07748530d04d0a1bb51d2aaf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#pragma once

#include <libultraship.h>

#include "engine/registry/RegisterContent.h"
#include "World.h"


class OPodium : public OObject {
public:
    enum Behaviour : uint16_t {
    };

    explicit OPodium(const SpawnParams& params);

    // This is simply a helper function to keep Spawning code clean
    static OPodium* Spawn(const FVector& pos) {
        SpawnParams params = {
            .Name = "mk:podium",
            .Location = pos,
        };
        return dynamic_cast<OPodium*>(AddObjectToWorld<OPodium>(params));
    }

    virtual void Tick() override;
    virtual void Draw(s32 cameraId) override;
    void func_8008629C(s32 objectIndex, s32 arg1);
    void func_80086424(s32 objectIndex);
    void func_80086528(s32 objectIndex, s32 arg1);

private:
    s32 _podium1Index;
    s32 _podium2Index;
    s32 _podium3Index;
    FVector _pos;
};