88 lines
1.9 KiB
C++
88 lines
1.9 KiB
C++
//------------------------------------------------------------------------------
|
|
// StateFallDown.cpp
|
|
// (C) 2005 Webzen Sunstudio
|
|
//------------------------------------------------------------------------------
|
|
|
|
#include "SunClientPrecompiledHeader.h"
|
|
#include "statebase.h"
|
|
#include "MapObject.h"
|
|
#include "TerrainObject.h"
|
|
|
|
#include "StateFallDown.h"
|
|
#include "MouseCursor.h"
|
|
#include "camera.h"
|
|
#include "Hero.h"
|
|
|
|
|
|
//------------------------------------------------------------------------------
|
|
/**
|
|
*/
|
|
StateFallDown::StateFallDown(void)
|
|
{
|
|
}
|
|
|
|
//------------------------------------------------------------------------------
|
|
/**
|
|
*/
|
|
StateFallDown::~StateFallDown(void)
|
|
{
|
|
}
|
|
|
|
//------------------------------------------------------------------------------
|
|
/**
|
|
*/
|
|
BOOL StateFallDown::CanTransite(Object* pOwner, DWORD CurTime, StateBase* pToTransiteState)
|
|
{
|
|
return TRUE;
|
|
}
|
|
|
|
//------------------------------------------------------------------------------
|
|
/**
|
|
*/
|
|
STATECHANGE::TYPE StateFallDown::OnStart(Object* pOwner, DWORD CurTime)
|
|
{
|
|
Character* pChr = (Character*)pOwner;
|
|
|
|
if(pChr==g_pHero)
|
|
{
|
|
g_Camera.StartVibration(100,1.0f);
|
|
}
|
|
|
|
pChr->SetFallDown( -7.0f, 0.0f );
|
|
|
|
return STATECHANGE::SUCCESS;
|
|
}
|
|
|
|
//------------------------------------------------------------------------------
|
|
/**
|
|
*/
|
|
STATEPROCESS::TYPE StateFallDown::OnProcess(Object* pOwner, DWORD CurTime,DWORD dwTick)
|
|
{
|
|
Character* pChr = (Character*)pOwner;
|
|
|
|
pChr->ProcessInterpolation(dwTick);
|
|
|
|
float fRet = pChr->ProcessAnimation(dwTick);
|
|
|
|
pChr->UpdateFallDown( dwTick );
|
|
|
|
if( pChr->GetHeight() == -100.0f )
|
|
{
|
|
return STATEPROCESS::SUSPEND;
|
|
}
|
|
|
|
return STATEPROCESS::HOLD;
|
|
}
|
|
|
|
//------------------------------------------------------------------------------
|
|
/**
|
|
*/
|
|
STATECHANGE::TYPE StateFallDown::OnEnd(Object* pOwner, DWORD CurTime)
|
|
{
|
|
Character* pChr = (Character*)pOwner;
|
|
|
|
pChr->SetHeight(0.0f);
|
|
|
|
return STATECHANGE::SUCCESS;
|
|
}
|