Magic_Game/core/Action/Delay.cpp

52 lines
692 B
C++
Raw Normal View History

#include "..\e2daction.h"
e2d::Delay::Delay(double duration)
: _delta(0)
, _delay(max(duration, 0))
{
}
2018-05-17 12:22:52 +08:00
e2d::Delay * e2d::Delay::create(double duration)
{
return Create<Delay>(duration);
}
e2d::Delay * e2d::Delay::clone() const
{
2018-05-17 12:22:52 +08:00
return Create<Delay>(_delay);
}
2018-05-14 00:36:01 +08:00
e2d::Delay * e2d::Delay::reverse() const
{
2018-05-17 12:22:52 +08:00
return Create<Delay>(_delay);
2018-05-14 00:36:01 +08:00
}
void e2d::Delay::reset()
{
Action::reset();
_delta = 0;
}
void e2d::Delay::_init()
{
Action::_init();
}
void e2d::Delay::_update()
{
Action::_update();
2018-05-10 14:03:54 +08:00
_delta = Time::getTotalTime() - _last;
if (_delta >= _delay)
{
this->stop();
}
}
void e2d::Delay::_resetTime()
{
Action::_resetTime();
_last = Time::getTotalTime() - _delta;
}