⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 thruststate.cpp

📁 奇迹世界 部分源代码奇迹世界 部分源代码奇迹世界 部分源代码
💻 CPP
字号:
#include "stdafx.h"
#include "ThrustState.h"
#include "Field.h"
#include <Timer.h>
#include <Define.h>
#include "AIParamParser.h"

ThrustState::ThrustState()
{
	m_pThrustTimer = new util::Timer;
	m_dwDownTimeAfterThrust = 0;
}

ThrustState::~ThrustState()
{
	SAFE_DELETE( m_pThrustTimer );
}

VOID ThrustState::Init()
{
	__asm nop;
}

VOID ThrustState::OnEnter( LPARAM param1, LPARAM param2, LPARAM param3 )
{
	State::OnEnter( param1, param2, param3 );

	m_bDownAfterThrust = (BOOL)param1;

	if( m_bDownAfterThrust )
	{
		m_pNPC->SetMoveState( CMS_KNOCKBACK_DOWN );
	}
	else
	{
		m_pNPC->SetMoveState( CMS_KNOCKBACK );
	}

	// 剐府绰 惑怕绰 1.5檬饶俊 辆丰
	m_pThrustTimer->SetTimer( AIParamParser::Instance()->GetInfo().m_wTHRUST_TIME );
}

VOID ThrustState::OnExit()
{
	State::OnExit();

	m_pNPC->StopMoving();
}

VOID ThrustState::OnUpdate( DWORD dwDeltaTick )
{
	__UNUSED(dwDeltaTick);

	if( m_pThrustTimer->IsExpired() )
	{
		if( m_bDownAfterThrust )
		{
			m_pNPC->ChangeState( STATE_ID_KNOCKDOWN, m_dwDownTimeAfterThrust );
		}
		else
		{
			if( m_pNPC->GetTargetChar() )
			{
				m_pNPC->ChangeState( STATE_ID_TRACK );
			}
			else
			{
				m_pNPC->ChangeState( STATE_ID_IDLE );
			}
		}
	}
}

VOID ThrustState::OnMsgFlying( AI_MSG *pMsg )
{
	// 剐府绰 惑怕狼 NPC绰 促矫 哆扼绰 皋技瘤甫 公矫
}

// 剐府绰 档吝俊 朝酒柯 促款 皋技瘤绰 公矫
VOID ThrustState::OnMsgKnockDown( AI_MSG *pMsg )
{
	AI_MSG_KNOCKDOWN *pRecvMsg = (AI_MSG_KNOCKDOWN*)pMsg;
	m_bDownAfterThrust = TRUE;
	m_dwDownTimeAfterThrust = pRecvMsg->dwKnockDownTick;
}

VOID ThrustState::OnMsgStun( AI_MSG *pMsg )
{
	m_bDownAfterThrust = TRUE;
}


// 饭明绊 公矫
VOID ThrustState::OnMsgLetsGo( AI_MSG *pMsg )
{
}

// 利 惯斑 公矫
VOID ThrustState::OnMsgEnemyFound( AI_MSG *pMsg )
{
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -