-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathAmplifierTurret.cpp
More file actions
46 lines (42 loc) · 1.29 KB
/
AmplifierTurret.cpp
File metadata and controls
46 lines (42 loc) · 1.29 KB
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
37
38
39
40
41
42
43
44
45
46
#include <allegro5/base.h>
#include <allegro5/color.h>
#include <allegro5/allegro_primitives.h>
#include <cmath>
#include <string>
#include <list>
#include "AudioHelper.hpp"
#include "Group.hpp"
#include "AmplifierTurret.hpp"
#include "PlayScene.hpp"
#include "Point.hpp"
const int AmplifierTurret::Price = 100;
AmplifierTurret::AmplifierTurret(float x, float y) :
// TODO 3 (1/5): You can imitate the 2 files: 'PlugGunTurret.hpp', 'PlugGunTurret.cpp' to create a new turret.
Turret("play/tower-base.png", "play/amplifier.png", x, y, 150, Price, 0) {
// Move center downward, since we the turret head is slightly biased upward
Anchor.y += 8.0f / GetBitmapHeight();
}
void AmplifierTurret::CreateBullet() {}
void AmplifierTurret::Update(float deltaTime)
{
Sprite::Update(deltaTime);
imgBase.Position = Position;
imgBase.Tint = Tint;
if (!Enabled)
return;
}
void AmplifierTurret::Draw() const
{
if (Preview) {
al_draw_filled_circle(Position.x, Position.y, CollisionRadius, al_map_rgba(0, 255, 0, 50));
}
else {
al_draw_filled_circle(Position.x, Position.y, CollisionRadius, al_map_rgba(255, 0, 255, 50));
}
imgBase.Draw();
Sprite::Draw();
if (PlayScene::DebugMode) {
// Draw target radius.
al_draw_circle(Position.x, Position.y, CollisionRadius, al_map_rgb(0, 0, 255), 2);
}
}