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

#include <memory>

#include <raylib.h>

#include "ConstantVelocity.h"
#include "Generator.h"


class ArcGenerator : public Generator
{
public:
    friend class EnemyFactory;
    ArcGenerator(std::shared_ptr<Vector2> position, ConstantVelocityBullet::Vector& bullets);
    void update(float dt) override;
private:
    std::shared_ptr<Vector2> m_position;
    ConstantVelocityBullet::Vector& m_bullets;
    float m_delay;
    float m_interval;
    float m_arc;
    float m_angle;
    float m_rotation;
    float m_radius;
    bool m_last;
    int m_speed;
    int m_shift;
    int m_segments;
    Color m_color;
};