-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathanimatedmanager.cpp
More file actions
53 lines (38 loc) · 1.13 KB
/
animatedmanager.cpp
File metadata and controls
53 lines (38 loc) · 1.13 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
47
48
49
50
51
52
53
#include "animatedmanager.h"
AnimatedManager::AnimatedManager(){}
AnimatedManager::AnimatedManager(const AnimatedManager& am){
BDD = am.BDD;
}
void AnimatedManager::add(const std::string& label, AnimatedSprite image){
BDD.insert(std::make_pair(label,image));
if(frameBDD.contains(label)){
QVector<int> tmp(frameBDD.value(label));
tmp.append(1);
frameBDD.insert(label,tmp);
}
else{
QVector<int> tmp;
tmp.append(1);
frameBDD.insert(label,tmp);
}
}
AnimatedSprite& AnimatedManager::get(const std::string& label){
return BDD[label];
}
void AnimatedManager::set(const std::string& label, const std::string& lbl){
BDD[label] = BDD[lbl];
}
void AnimatedManager::changeFrame(const std::string& label, int n){
QVector<int> tmp(frameBDD[label]);
AnimatedSprite tmpS(BDD[label]);
if(tmp[n] >= tmpS.getNbrFrameX())
tmp[n] == 0;
tmp[n]+=1;
frameBDD.insert(label,tmp);
}
void AnimatedManager::deleteFrame(const std::string& label, int n){
QVector<int> tmp(frameBDD[label]);
tmp.remove(n);
tmp.squeeze();
frameBDD.insert(label,tmp);
}