transrule_climb2fireandswoop.cpp

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

CPP
59
字号
// ------------------------------------------------------------
// File Name: CTransRule_Climb2FireAndSwoop.cpp
// Description: 
// Doctrine Name: StrikeDoctrine
// Object Name: Climb2FireAndSwoop
// 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 ".\TransRule_Climb2FireAndSwoop.h"

CTransRule_Climb2FireAndSwoop::~CTransRule_Climb2FireAndSwoop()
{
}

void CTransRule_Climb2FireAndSwoop::AddPredicateHandlerFcn(string strHandlerName, void* pfcnHandler)
{
	if( strHandlerName == PREDICATE_ISREACHPOINTA )
	{
		m_pfcnPredicateIsReachPointA = (FcnPredicateIsReachPointA)pfcnHandler;
	}
}

CTransRule_Climb2FireAndSwoop::CTransRule_Climb2FireAndSwoop(string strTargetStateName, ENTITY_PTR* pEntity) : CTransRule(strTargetStateName, pEntity)
{
	m_pfcnPredicateIsReachPointA = NULL;
}

bool CTransRule_Climb2FireAndSwoop::Check()
{
	if(!m_pfcnPredicateIsReachPointA)
	{
		CDoctrineLog::Instance().WriteLog(LOG_WARNING, "CTransRule_Climb2FireAndSwoop", "Check", "m_pfcnPredicateIsReachPointA");
		return false;
	}

	bool bResult = false;
	try
	{
		bool A = (*m_pfcnPredicateIsReachPointA)(GetEntityPtr(), EQUAL, 1);

		bResult = A;
	}
	catch (...)
	{
		CDoctrineLog::Instance().WriteLog(LOG_ERROR, "CTransRule_Climb2FireAndSwoop", "Check", ERRORLOG_PREDICATE_HANDLER);;
	}

	return bResult;
}

⌨️ 快捷键说明

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