summaryrefslogtreecommitdiffhomepage
path: root/SpiralGenerator.h
blob: 25fe9ba91335089ec1854bb46ac061e352fc55d1 (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
#pragma once

#include <memory>

#include <raylib.h>

#include "Spiral.h"
#include "Generator.h"


class SpiralGenerator : public Generator
{
public:
    friend class EnemyFactory;
    SpiralGenerator(std::shared_ptr<Vector2> position, SpiralBullet::Vector& bullets);
    void update(float dt) override;
private:
    std::shared_ptr<Vector2> m_position;
    SpiralBullet::Vector& m_bullets;
    float m_delay;
    float m_interval;
    int m_speed;
    float m_angle;
    float m_redirect;
    float m_timer;
    float m_redirect_time;
    float m_redirect_decrease;
    int m_segments;
    Color m_color;
};