#include "SunClientPrecompiledHeader.h" #include "statebase.h" #include "character.h" #include "StateNPCSpecialAction_Loop.h" StateNPCSpecialAction_Loop::StateNPCSpecialAction_Loop(void) { } StateNPCSpecialAction_Loop::~StateNPCSpecialAction_Loop(void) { } //------------------------------------------------------------------------------ /** */ BOOL StateNPCSpecialAction_Loop::CanTransite(Object* pOwner, DWORD CurTime, StateBase* pToTransiteState) { switch(pToTransiteState->GetStateKind()) { case 0: break; } return TRUE; } //------------------------------------------------------------------------------ /** */ STATECHANGE::TYPE StateNPCSpecialAction_Loop::OnStart(Object* pOwner, DWORD CurTime) { Character* pChr = (Character*)pOwner; pChr->SetAnimation( "SA01" , TRUE); return STATECHANGE::SUCCESS; } //------------------------------------------------------------------------------ /** */ STATEPROCESS::TYPE StateNPCSpecialAction_Loop::OnProcess(Object* pOwner, DWORD CurTime,DWORD dwTick) { Character* pChr = (Character*)pOwner; // ¿¡´Ï¸ÞÀÌ¼Ç ¾÷µ¥ÀÌÆ® pChr->ProcessInterpolation(dwTick); float fRet = pChr->ProcessAnimation( dwTick ); if (fRet >= 100.0f) { return STATEPROCESS::END; } // ´ÙÀ½ µ¿ÀÛÀÌ ÀÖÀ¸¸é ¹Ù·Î ¼öÇàÇØÁÖ¼¼¿ä~ if (pChr->GetActionQueueCount()) { pChr->ProcessNextAction(); return STATEPROCESS::SUSPEND; } return STATEPROCESS::SUSPEND; } //------------------------------------------------------------------------------ /** */ STATECHANGE::TYPE StateNPCSpecialAction_Loop::OnEnd(Object* pOwner, DWORD CurTime) { Character* pChr = (Character*)pOwner; pChr->SetNextState(STATE::NPC_IDLE_STATE, g_CurTime); return STATECHANGE::SUCCESS; }