state_climb.cpp

来自「一个模拟动作源码」· C++ 代码 · 共 87 行

CPP
87
字号
// ------------------------------------------------------------
// File Name: CState_Climb.cpp
// Description: 
// Doctrine Name: StrikeDoctrine
// Object Name: Climb
// Object Description: 
// BKB DB Name: makdemobkb
// TKB DB Name: makdemotkb
// BKBEditor Version: 1.4.8.0
// Plugin Name: VrfBkbExporter.dll
// Plugin Version: 1.4.8.0
// Created By: root
// Create Date: 2008-05-23 15:53:08
// ------------------------------------------------------------ 

#include "stdafx.h"
#include ".\State_Climb.h"
#include ".\TransRule_Climb2FireAndSwoop.h"

void CState_Climb::Init(ENTITY_PTR* pEntity)
{
	CStateObject::Init(pEntity);

	CTransRule_Climb2FireAndSwoop* pTRClimb2FireAndSwoop = new CTransRule_Climb2FireAndSwoop("FireAndSwoop", pEntity);

	m_listTransRules.push_back(pTRClimb2FireAndSwoop);


}

void CState_Climb::AddActionHandlerFcn(string strHandlerName, void* pfcnHandler)
{
	if( strHandlerName == ACTION_CLIMB )
	{
		m_pfcnActionClimb = (FcnActionClimb)pfcnHandler;
	}

}

void CState_Climb::tick()
{
}

void CState_Climb::AddPredicateHandlerFcn(string strHandlerName, void* pfcnHandler)
{
	CStateObject::AddPredicateHandlerFcn(strHandlerName, pfcnHandler);


}

CState_Climb::CState_Climb(string strName) : CStateObject(strName)
{
	m_pfcnActionClimb = NULL;
}

void CState_Climb::OnEnter()
{
	if (m_pfcnActionClimb)
	{
		try
		{
			(*m_pfcnActionClimb)(GetEntityPtr(), NULL);
		}
		catch (...)
		{
			CDoctrineLog::Instance().WriteLog(LOG_ERROR, "CState_Climb", "OnEnter", ERRORLOG_ACTION_HANDLER);
		}
	}
	else
	{
		CDoctrineLog::Instance().WriteLog(LOG_WARNING, "CState_Climb", "OnEnter", "m_pfcnActionClimb");
	}
}

CState_Climb::~CState_Climb()
{
}

void CState_Climb::OnLeave()
{
}

void CState_Climb::OnMsg(EnumMsgType eumMsgType, MSG_PTR* pMsg)
{
}

⌨️ 快捷键说明

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