本文整理汇总了C++中CAI_BaseNPC::Activate方法的典型用法代码示例。如果您正苦于以下问题:C++ CAI_BaseNPC::Activate方法的具体用法?C++ CAI_BaseNPC::Activate怎么用?C++ CAI_BaseNPC::Activate使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CAI_BaseNPC
的用法示例。
在下文中一共展示了CAI_BaseNPC::Activate方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: SpawnAlien
CAI_BaseNPC* CASW_Harvester::SpawnAlien()
{
if (asw_harverter_suppress_children.GetBool())
return NULL;
CBaseEntity *pEntity = CreateEntityByName( "asw_parasite_defanged" );
CAI_BaseNPC *pNPC = dynamic_cast<CAI_BaseNPC*>(pEntity);
if ( !pNPC )
{
Warning("NULL Ent in CASW_Harvester!\n");
return NULL;
}
pNPC->AddSpawnFlags( SF_NPC_FALL_TO_GROUND );
pNPC->SetAbsOrigin( GetAbsOrigin() + Vector( 0, 0, asw_harvester_spawn_height.GetFloat() ) );
// Strip pitch and roll from the spawner's angles. Pass only yaw to the spawned NPC.
QAngle angles = GetAbsAngles();
angles.x = 0.0;
angles.z = 0.0;
pNPC->SetAbsAngles( angles );
IASW_Spawnable_NPC* pSpawnable = dynamic_cast<IASW_Spawnable_NPC*>(pNPC);
ASSERT(pSpawnable);
if ( !pSpawnable )
{
Warning("NULL Spawnable Ent in CASW_Harvester!\n");
UTIL_Remove(pNPC);
return NULL;
}
DispatchSpawn( pNPC );
pNPC->SetOwnerEntity( this );
pNPC->Activate();
CASW_Parasite *pParasite = dynamic_cast<CASW_Parasite*>(pNPC);
if (pParasite)
{
m_iCrittersAlive++;
pParasite->SetMother(this);
}
return pNPC;
}
示例2: 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();
}
}