summaryrefslogtreecommitdiff
path: root/src/engine/sky/SkyCloud.h
blob: 366298d394b34ba20735373da932b660eaf3e087 (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
#pragma once

#include <libultraship.h>
#include "engine/SpawnParams.h"
#include "engine/CoreMath.h"
#include "engine/sky/SkyActor.h"

extern "C" {
#include "common_structs.h"
#include "code_800029B0.h"
}

/**
 * Skybox clouds
 *
 * @cloudVariant The cloud texture to use
 */
class SkyCloud : public SkyActor {
public:
    SkyCloud(ScreenContext* screen, u16 cloudVariant, u16 posY, u16 rotY, u16 scalePercent);

    ~SkyCloud() {
        _count--;
    }

    static size_t GetCount() {
        return _count;
    }

    virtual void Draw(ScreenContext* ctx, s32 arg0) override;
    virtual void Tick() override;
private:
    static size_t _count;
    size_t _idx;
};