@@ -26,13 +26,13 @@ THE SOFTWARE.
26
26
****************************************************************************/
27
27
#include " 2d/CCActionProgressTimer.h"
28
28
#include " 2d/CCProgressTimer.h"
29
+ #include " ui/UILoadingBar.h"
29
30
30
31
NS_CC_BEGIN
31
32
32
33
#define kProgressTimerCast ProgressTimer*
33
34
34
35
// implementation of ProgressTo
35
-
36
36
ProgressTo* ProgressTo::create (float duration, float percent)
37
37
{
38
38
ProgressTo *progressTo = new (std::nothrow) ProgressTo ();
@@ -41,7 +41,6 @@ ProgressTo* ProgressTo::create(float duration, float percent)
41
41
progressTo->autorelease ();
42
42
return progressTo;
43
43
}
44
-
45
44
delete progressTo;
46
45
return nullptr ;
47
46
}
@@ -73,12 +72,23 @@ ProgressTo* ProgressTo::reverse() const
73
72
void ProgressTo::startWithTarget (Node *target)
74
73
{
75
74
ActionInterval::startWithTarget (target);
76
- _from = ((kProgressTimerCast )(target))->getPercentage ();
75
+
76
+ ui::LoadingBar* loading_bar = dynamic_cast <ui::LoadingBar*>(target);
77
+ if (loading_bar){
78
+ _from = loading_bar->getPercent ();
79
+ } else {
80
+ _from = static_cast <ProgressTimer*>(target)->getPercentage ();
81
+ };
77
82
}
78
83
79
84
void ProgressTo::update (float time)
80
85
{
81
- ((kProgressTimerCast )(_target))->setPercentage (_from + (_to - _from) * time );
86
+ ui::LoadingBar* loading_bar = dynamic_cast <ui::LoadingBar*>(_target);
87
+ if (loading_bar){
88
+ loading_bar->setPercent (_from + (_to - _from) * time );
89
+ } else {
90
+ static_cast <ProgressTimer*>(_target)->setPercentage (_from + (_to - _from) * time );
91
+ };
82
92
}
83
93
84
94
// implementation of ProgressFromTo
@@ -90,14 +100,14 @@ ProgressFromTo* ProgressFromTo::create(float duration, float fromPercentage, flo
90
100
progressFromTo->autorelease ();
91
101
return progressFromTo;
92
102
}
93
-
103
+
94
104
delete progressFromTo;
95
105
return nullptr ;
96
106
}
97
107
98
108
bool ProgressFromTo::initWithDuration (float duration, float fromPercentage, float toPercentage)
99
109
{
100
- if (ActionInterval::initWithDuration (duration))
110
+ if (ActionInterval::initWithDuration (duration))
101
111
{
102
112
_to = toPercentage;
103
113
_from = fromPercentage;
@@ -127,7 +137,12 @@ void ProgressFromTo::startWithTarget(Node *target)
127
137
128
138
void ProgressFromTo::update (float time)
129
139
{
130
- ((kProgressTimerCast )(_target))->setPercentage (_from + (_to - _from) * time );
140
+ ui::LoadingBar* loading_bar = dynamic_cast <ui::LoadingBar*>(_target);
141
+ if (loading_bar){
142
+ loading_bar->setPercent (_from + (_to - _from) * time );
143
+ } else {
144
+ static_cast <ProgressTimer*>(_target)->setPercentage (_from + (_to - _from) * time );
145
+ };
131
146
}
132
147
133
148
NS_CC_END
0 commit comments