Line |
Branch |
Exec |
Source |
1 |
|
|
/* |
2 |
|
|
** EPITECH PROJECT, 2024 |
3 |
|
|
** zappy |
4 |
|
|
** File description: |
5 |
|
|
** LvlUpAnim |
6 |
|
|
*/ |
7 |
|
|
|
8 |
|
|
#ifndef LVLUPANIM_HPP_ |
9 |
|
|
#define LVLUPANIM_HPP_ |
10 |
|
|
|
11 |
|
|
#include "../../../sprites/Sprite.hpp" |
12 |
|
|
|
13 |
|
|
class LvlUpAnim { |
14 |
|
|
public: |
15 |
|
✗ |
LvlUpAnim(int id, sf::Vector2f pos, sf::Vector2f tile, int lvl) |
16 |
|
✗ |
: _id(id), _pos(pos), _tile(tile), _lvl(lvl) |
17 |
|
|
{ |
18 |
|
✗ |
_lvlup = std::make_shared<Sprite>("./assets/lvlup.png", 8, 0.1f); |
19 |
|
✗ |
_lvlup->setPosition(_pos); |
20 |
|
✗ |
} |
21 |
|
✗ |
~LvlUpAnim() {} |
22 |
|
|
|
23 |
|
|
enum class LvlUpAnimState { |
24 |
|
|
START, |
25 |
|
|
FINISHING, |
26 |
|
|
FAILURE |
27 |
|
|
}; |
28 |
|
|
|
29 |
|
|
void update(float fElapsedTime) { |
30 |
|
✗ |
if (_state == LvlUpAnimState::FINISHING) |
31 |
|
✗ |
_lvlup->update(fElapsedTime); |
32 |
|
|
} |
33 |
|
|
|
34 |
|
|
void draw(sf::RenderWindow &window) { |
35 |
|
|
_lvlup->draw(window); |
36 |
|
✗ |
} |
37 |
|
|
|
38 |
|
|
bool setSuccess() { |
39 |
|
|
bool ret = false; |
40 |
|
✗ |
if (_state == LvlUpAnimState::START) |
41 |
|
|
ret = true; |
42 |
|
✗ |
_state = LvlUpAnimState::FINISHING; |
43 |
|
|
return ret; |
44 |
|
|
} |
45 |
|
|
|
46 |
|
|
void setFailure() { |
47 |
|
✗ |
_state = LvlUpAnimState::FAILURE; |
48 |
|
✗ |
} |
49 |
|
|
|
50 |
|
✗ |
bool isFinished() { |
51 |
|
✗ |
return (_state == LvlUpAnimState::FINISHING && _lvlup->isFinished()) || _state == LvlUpAnimState::FAILURE; |
52 |
|
|
} |
53 |
|
|
|
54 |
|
|
int getId() { |
55 |
|
✗ |
return _id; |
56 |
|
|
} |
57 |
|
|
|
58 |
|
|
sf::Vector2f getTile() { |
59 |
|
✗ |
return _tile; |
60 |
|
|
} |
61 |
|
|
|
62 |
|
|
int getLvl() { |
63 |
|
✗ |
return _lvl; |
64 |
|
|
} |
65 |
|
|
|
66 |
|
|
protected: |
67 |
|
|
private: |
68 |
|
|
int _id; |
69 |
|
|
sf::Vector2f _pos; |
70 |
|
|
sf::Vector2f _tile; |
71 |
|
|
std::shared_ptr<Sprite> _lvlup; |
72 |
|
|
LvlUpAnimState _state = LvlUpAnimState::START; |
73 |
|
|
int _lvl; |
74 |
|
|
}; |
75 |
|
|
|
76 |
|
|
#endif /* !LVLUPANIM_HPP_ */ |
77 |
|
|
|