2017-08-08 13:53:47 +02:00
|
|
|
#include "Action.h"
|
|
|
|
|
2018-03-06 22:22:19 +01:00
|
|
|
#include <Util/Util.h>
|
2017-08-08 13:53:47 +02:00
|
|
|
|
|
|
|
|
|
|
|
Core::Action::Action::Action()
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
Core::Action::Action::~Action()
|
|
|
|
{
|
|
|
|
|
|
|
|
}
|
|
|
|
|
2017-11-28 17:43:00 +01:00
|
|
|
uint16_t Core::Action::Action::getId() const
|
2017-08-08 13:53:47 +02:00
|
|
|
{
|
|
|
|
return m_id;
|
|
|
|
}
|
|
|
|
|
2017-09-05 00:37:22 -03:00
|
|
|
Core::Common::HandleActionType Core::Action::Action::getHandleActionType() const
|
2017-08-08 13:53:47 +02:00
|
|
|
{
|
2017-09-05 00:37:22 -03:00
|
|
|
return m_handleActionType;
|
2017-08-08 13:53:47 +02:00
|
|
|
}
|
|
|
|
|
2018-02-20 22:46:44 +01:00
|
|
|
Core::Entity::CharaPtr Core::Action::Action::getTargetChara() const
|
2017-08-08 13:53:47 +02:00
|
|
|
{
|
|
|
|
return m_pTarget;
|
|
|
|
}
|
|
|
|
|
|
|
|
bool Core::Action::Action::isInterrupted() const
|
|
|
|
{
|
|
|
|
return m_bInterrupt;
|
|
|
|
}
|
|
|
|
|
|
|
|
void Core::Action::Action::setInterrupted()
|
|
|
|
{
|
|
|
|
m_bInterrupt = true;
|
|
|
|
}
|
|
|
|
|
|
|
|
uint64_t Core::Action::Action::getStartTime() const
|
|
|
|
{
|
|
|
|
return m_startTime;
|
|
|
|
}
|
|
|
|
|
|
|
|
void Core::Action::Action::setStartTime( uint64_t startTime )
|
|
|
|
{
|
|
|
|
m_startTime = startTime;
|
|
|
|
}
|
|
|
|
|
|
|
|
uint32_t Core::Action::Action::getCastTime() const
|
|
|
|
{
|
|
|
|
return m_castTime;
|
|
|
|
}
|
|
|
|
|
|
|
|
void Core::Action::Action::setCastTime( uint32_t castTime )
|
|
|
|
{
|
|
|
|
m_castTime = castTime;
|
|
|
|
}
|
|
|
|
|
2018-02-20 22:46:44 +01:00
|
|
|
Core::Entity::CharaPtr Core::Action::Action::getActionSource() const
|
2017-08-08 13:53:47 +02:00
|
|
|
{
|
|
|
|
return m_pSource;
|
|
|
|
}
|
|
|
|
|
|
|
|
bool Core::Action::Action::update()
|
|
|
|
{
|
|
|
|
// action has not been started yet
|
|
|
|
if( m_startTime == 0 )
|
|
|
|
return false;
|
|
|
|
|
|
|
|
if( m_bInterrupt )
|
|
|
|
{
|
|
|
|
onInterrupt();
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
uint64_t currTime = Util::getTimeMs();
|
|
|
|
|
|
|
|
if( ( currTime - m_startTime ) > m_castTime )
|
|
|
|
{
|
|
|
|
onFinish();
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
return false;
|
|
|
|
}
|