1
Fork 0
mirror of https://github.com/SapphireServer/Sapphire.git synced 2025-04-26 14:37:44 +00:00
sapphire/src/servers/sapphire_zone/Action/Action.cpp

86 lines
1.3 KiB
C++
Raw Normal View History

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
}
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;
}
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;
}