DragonNest/GameCommon/DnTransformBlow.cpp
2024-12-20 16:56:44 +08:00

48 lines
2.5 KiB
C++
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#include "StdAfx.h"
#include "DnTransformBlow.h"
#include "DnPlayerActor.h"
CDnTransformBlow::CDnTransformBlow( DnActorHandle hActor, const char* szValue ) : CDnBlow( hActor )
{
m_StateBlow.emBlowIndex = STATE_BLOW::BLOW_232;
SetValue( szValue );
std::string str = szValue;
std::vector<std::string> tokens;
TokenizeA(str, tokens, ";");
m_nTransformIndex = 0;
m_bSkillDefendency = false;
if( tokens.size() == 3 )
{
m_nTransformIndex = atoi(tokens[0].c_str());
m_strEndActionName = tokens[1];
m_bSkillDefendency = atoi(tokens[2].c_str()) == 1 ? true : false;
}
}
CDnTransformBlow::~CDnTransformBlow(void)
{
}
void CDnTransformBlow::OnBegin( LOCAL_TIME LocalTime, float fDelta )
{
if(m_hActor && m_hActor->IsPlayerActor() )
{
CDnPlayerActor *pPlayer = static_cast<CDnPlayerActor*>(m_hActor.GetPointer());
pPlayer->ToggleTransformMode( true, m_nTransformIndex , true ); // 이전에 변신중이라도 상관없이 변신 시킴.
}
}
void CDnTransformBlow::OnEnd( LOCAL_TIME LocalTime, float fDelta )
{
if(m_hActor && m_hActor->IsPlayerActor() )
{
CDnPlayerActor *pPlayer = static_cast<CDnPlayerActor*>(m_hActor.GetPointer());
pPlayer->ToggleTransformMode( false, -1, false, m_strEndActionName.c_str() );
}
}