本文整理汇总了C++中CAI_BaseNPC::SetLocalOrigin方法的典型用法代码示例。如果您正苦于以下问题:C++ CAI_BaseNPC::SetLocalOrigin方法的具体用法?C++ CAI_BaseNPC::SetLocalOrigin怎么用?C++ CAI_BaseNPC::SetLocalOrigin使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CAI_BaseNPC
的用法示例。
在下文中一共展示了CAI_BaseNPC::SetLocalOrigin方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: SpawnTroops
void CNPC_CombineDropship::SpawnTroops( void )
{
int i;
// char szAttachmentName[ 32 ];
Vector vecLocation;
QAngle vecAngles;
QAngle vecSpawnAngles;
// memset( szAttachmentName, 0, 32 );
vecSpawnAngles = GetLocalAngles();
vecSpawnAngles.y = UTIL_AngleMod( vecSpawnAngles.y - 180 );
vecSpawnAngles.x = 0;
vecSpawnAngles.z = 0;
for( i = 1 ; i <= m_soldiersToDrop ; i++ )
{
// Q_snprintf( szAttachmentName,sizeof(szAttachmentName), "spot%d", i );
// GetAttachment( szAttachmentName, vecLocation, vecAngles );
vecLocation = GetAbsOrigin();
vecAngles = GetAbsAngles();
// troops spawn behind vehicle at all times
Vector shipDir, shipLeft;
AngleVectors( vecAngles, &shipDir, &shipLeft, NULL );
vecLocation -= shipDir * 250;
// set spawn position for spawning in formation
switch( i )
{
case 1:
vecLocation -= shipLeft * DROPSHIP_TROOP_GRID;
break;
case 3:
vecLocation += shipLeft * DROPSHIP_TROOP_GRID;
break;
case 4:
vecLocation -= shipDir * DROPSHIP_TROOP_GRID - shipLeft * DROPSHIP_TROOP_GRID;
break;
case 5:
vecLocation -= shipDir * DROPSHIP_TROOP_GRID;
break;
case 6:
vecLocation -= shipDir * DROPSHIP_TROOP_GRID + shipLeft * DROPSHIP_TROOP_GRID;
}
// spawn based upon template
CAI_BaseNPC *pEnt = NULL;
CBaseEntity *pEntity = NULL;
MapEntity_ParseEntity( pEntity, STRING(m_sNPCTemplateData), NULL );
if ( pEntity != NULL )
{
pEnt = (CAI_BaseNPC *)pEntity;
}
else
{
Warning("Dropship could not create template NPC\n" );
return;
}
pEnt->SetLocalOrigin( vecLocation );
pEnt->SetLocalAngles( vecSpawnAngles );
DispatchSpawn( pEnt );
pEnt->m_NPCState = NPC_STATE_IDLE;
pEnt->SetOwnerEntity( this );
pEnt->Activate();
}
}