-
Notifications
You must be signed in to change notification settings - Fork 2
/
ProjectileManager.h
59 lines (41 loc) · 1.3 KB
/
ProjectileManager.h
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
47
48
49
50
51
52
53
54
55
56
57
58
#pragma once
#define PROJECTILE_MAX 40
struct tagProjectile {
string imgKey;
float x, y;
float angle;
float speed;
int width;
int height;
int frameX;
int frameY;
int damage;
int count;
int brassCount;
bool isFrame;
bool isStretch;
bool isEnemyProjectTile;
bool isAppear;
bool isBrassing;
bool isPingPong;
RECT* _playerTargetRc;
bool isFollowing;
};
class ProjectileManager{
private:
tagProjectile _projectiles[PROJECTILE_MAX];
string _strDamageBoundary = "ÀåÆÇ";
string _followingAttack = "À¯µµ";
public:
void init();
void release();
void update();
void render(HDC hdc);
void CreateProjectile(string imgKey, int x, int y, int damage = 10, float angle = 0.0f,
float speed = 0.5f, int size = 20, bool isEnemy = false, bool isFrame = false, bool isStretch = false);
void CreateProjectile(string imgKey, int x, int y, int damage = 1, int width = 100, int height = 20, bool isLeft = false);
void CreateProjectile(int x, int y, int damage, int width, int height);
void CreateProjectile(string imgKey, RECT* playerTargetRc, int x, int y, int damage = 10, float angle = 0.0f, float speed = 0.5f, int size = 20, bool isEnemy = false, bool isFrame = true, bool isFollowing = true);
tagProjectile* GetProjectile() { return _projectiles; }
float shootToTarget(int index);
};