当前位置: 首页>>代码示例>>C++>>正文


C++ CAI_BaseNPC::GetState方法代码示例

本文整理汇总了C++中CAI_BaseNPC::GetState方法的典型用法代码示例。如果您正苦于以下问题:C++ CAI_BaseNPC::GetState方法的具体用法?C++ CAI_BaseNPC::GetState怎么用?C++ CAI_BaseNPC::GetState使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在CAI_BaseNPC的用法示例。


在下文中一共展示了CAI_BaseNPC::GetState方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: ShouldDiscardMemory

bool CAI_Enemies::ShouldDiscardMemory( AI_EnemyInfo_t *pMemory )
{
	CBaseEntity *pEnemy = pMemory->hEnemy;

	if ( pEnemy )
	{
		CAI_BaseNPC *pEnemyNPC = pEnemy->MyNPCPointer();
		if ( pEnemyNPC )
		{
			if ( pEnemyNPC->GetState() == NPC_STATE_DEAD )
				return true;

			// forget about the enemy if he changes faction
			if ( pEnemyNPC->GetFaction() != pMemory->nFaction )
				return true;
		}
	}
	else
	{
		if ( !pMemory->bDangerMemory )
			return true;
	}

	if ( !pMemory->bUnforgettable &&
		 gpGlobals->curtime > pMemory->timeLastSeen + m_flEnemyDiscardTime )
	{
		return true;
	}

	return false;
}
开发者ID:Au-heppa,项目名称:swarm-sdk,代码行数:31,代码来源:ai_memory.cpp

示例2: ResolveNames

void CAI_GoalEntity::ResolveNames()
{
	m_actors.SetCount( 0 );
	
	CBaseEntity *pEntity = NULL;
	for (;;)
	{
		switch ( m_SearchType )
		{
			case ST_ENTNAME:
			{
				pEntity = gEntList.FindEntityByName( pEntity, m_iszActor, NULL );
				break;
			}
			
			case ST_CLASSNAME:
			{
				pEntity = gEntList.FindEntityByClassname( pEntity, STRING( m_iszActor ) );
				break;
			}
		}
		
		if ( !pEntity )
			break;
			
		CAI_BaseNPC *pActor = pEntity->MyNPCPointer();
		
		if ( pActor  && pActor->GetState() != NPC_STATE_DEAD )
		{
			AIHANDLE temp;
			temp = pActor;
			m_actors.AddToTail( temp );
		}
	}
		
	m_hGoalEntity = gEntList.FindEntityByName( NULL, m_iszGoal, NULL );
}
开发者ID:RaisingTheDerp,项目名称:raisingthebar,代码行数:37,代码来源:ai_goalentity.cpp


注:本文中的CAI_BaseNPC::GetState方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。