#include "StdAfx.h" #include "DnMouseSensitiveBlow.h" #ifndef _GAMESERVER #include "DnPlayerCamera.h" #endif #ifdef _DEBUG #define new new(_NORMAL_BLOCK,__FILE__,__LINE__) #endif CDnMouseSensitiveBlow::CDnMouseSensitiveBlow( DnActorHandle hActor, const char* szValue ) : CDnBlow( hActor ) { m_StateBlow.emBlowIndex = STATE_BLOW::BLOW_152; SetValue( szValue ); m_fValue = (float)atof(szValue); } CDnMouseSensitiveBlow::~CDnMouseSensitiveBlow(void) { } void CDnMouseSensitiveBlow::OnBegin( LOCAL_TIME LocalTime, float fDelta ) { #ifndef _GAMESERVER DnCameraHandle hCamera = CDnCamera::GetActiveCamera(); if( hCamera && hCamera->GetCameraType() == CDnCamera::PlayerCamera ) { CDnPlayerCamera *pCamera = static_cast(hCamera.GetPointer()); if( pCamera && pCamera->GetAttachActor() == CDnActor::s_hLocalActor->GetMySmartPtr() ) { // 0¹øÀ妽º´Â ½Ã½ºÅÛ, 1¹øÀ妽º´Â ¾×¼ÇÀÌ´Ï, »óÅÂÈ¿°úµð¹öÇÁ´Â 2¹øÀ¸·Î ÇÑ´Ù. pCamera->SetFreeze( m_fValue, 2 ); } } #endif OutputDebug( "CDnMouseSensitiveBlow::OnBegin\n" ); } void CDnMouseSensitiveBlow::Process( LOCAL_TIME LocalTime, float fDelta ) { CDnBlow::Process( LocalTime, fDelta ); } void CDnMouseSensitiveBlow::OnEnd( LOCAL_TIME LocalTime, float fDelta ) { #ifndef _GAMESERVER DnCameraHandle hCamera = CDnCamera::GetActiveCamera(); if( hCamera && hCamera->GetCameraType() == CDnCamera::PlayerCamera ) { CDnPlayerCamera *pCamera = static_cast(hCamera.GetPointer()); if( pCamera && pCamera->GetAttachActor() == CDnActor::s_hLocalActor->GetMySmartPtr() ) { pCamera->SetFreeze( false, 2 ); } } #endif OutputDebug( "CDnMouseSensitiveBlow::OnEnd\n" ); } #if defined(PRE_ADD_PREFIX_SYSTE_RENEW) void CDnMouseSensitiveBlow::AddStateEffectValue(const char* szOrigValue, const char* szAddValue, std::string& szNewValue) { char szBuff[128] = {0, }; //ÇÊ¿äÇÑ °ª º¯¼ö float fValue[2]; ////////////////////////////////////////////////////////////////////////// //ù¹øÂ° °ª fValue[0] = (float)atof( szOrigValue ); ////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////// //µÎ¹øÂ° fValue[1] = (float)atof( szAddValue ); ////////////////////////////////////////////////////////////////////////// //µÎ °ªÀ» ´õÇÑ´Ù. float fResultValue = fValue[0] + fValue[1]; sprintf_s(szBuff, "%f", fResultValue); szNewValue = szBuff; } void CDnMouseSensitiveBlow::RemoveStateEffectValue(const char* szOrigValue, const char* szAddValue, std::string& szNewValue) { char szBuff[128] = {0, }; //ÇÊ¿äÇÑ °ª º¯¼ö float fValue[2]; ////////////////////////////////////////////////////////////////////////// //ù¹øÂ° °ª fValue[0] = (float)atof( szOrigValue ); ////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////// //µÎ¹øÂ° fValue[1] = (float)atof( szAddValue ); ////////////////////////////////////////////////////////////////////////// //°ª °è»ê float fResultValue = fValue[0] - fValue[1]; sprintf_s(szBuff, "%f", fResultValue); szNewValue = szBuff; } #endif // PRE_ADD_PREFIX_SYSTE_RENEW