您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ GetActiveWeapon函数代码示例

51自学网 2021-06-01 21:03:28
  C++
这篇教程C++ GetActiveWeapon函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中GetActiveWeapon函数的典型用法代码示例。如果您正苦于以下问题:C++ GetActiveWeapon函数的具体用法?C++ GetActiveWeapon怎么用?C++ GetActiveWeapon使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

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

示例1: GetActiveWeapon

//=========================================================// Traduce una animación.//=========================================================Activity CIN_Player::TranslateActivity(Activity baseAct, bool *pRequired){    // Esta será la nueva animación.    Activity translated = baseAct;    // El jugador tiene una arma, usar la animación con esa arma.    if ( GetActiveWeapon() )        translated = GetActiveWeapon()->ActivityOverride(baseAct, pRequired);    // Estamos desarmados, verificar si existe una animación.    else if ( unarmedActtable )    {        acttable_t *pTable	= unarmedActtable;        int actCount		= ARRAYSIZE(unarmedActtable);        for ( int i = 0; i < actCount; i++, pTable++ )        {            if ( baseAct == pTable->baseAct )                translated = (Activity)pTable->weaponAct;        }    }    else if ( pRequired )        *pRequired = false;    // @DEBUG: Guardamos la animación nueva para poder usarla en la información de depuración: anim_showstatelog#ifndef CLIENT_DLL    //DevMsg("[ANIM] %s /r/n", ActivityList_NameForIndex(translated));#endif    return translated;}
开发者ID:InfoSmart,项目名称:InSource-Singleplayer,代码行数:34,


示例2: OnKilledNPC

//-----------------------------------------------------------------------------//-----------------------------------------------------------------------------void CNPC_Monk::OnKilledNPC( CBaseCombatCharacter *pKilled ){	if ( !pKilled )	{		return;	}	if ( pKilled->Classify() == CLASS_ZOMBIE )	{		// Don't speak if the gun is empty, cause grigori will want to speak while he's reloading.		if ( GetActiveWeapon() )		{			if ( GetActiveWeapon()->UsesPrimaryAmmo() && !GetActiveWeapon()->HasPrimaryAmmo() )			{				// Gun is empty. I'm about to reload.				if( m_iNumZombies >= 2 )				{					// Don't talk about killing a single zombie if there are more coming.					// the reload behavior will say "come to me, children", etc.					return;				}			}		}		if( m_iNumZombies == 1 || random->RandomInt( 1, 3 ) == 1 )		{			SpeakIfAllowed( TLK_ENEMY_DEAD );		}	}}
开发者ID:RaraFolf,项目名称:FIREFIGHT-RELOADED-src-sdk-2013,代码行数:32,


示例3: Weapon_OwnsThisType

void CHL2MP_Player::Weapon_Drop( CBaseCombatWeapon *pWeapon, const Vector *pvecTarget, const Vector *pVelocity ){	//Drop a grenade if it's primed.	if ( GetActiveWeapon() )	{		CBaseCombatWeapon *pGrenade = Weapon_OwnsThisType("weapon_frag");		if ( GetActiveWeapon() == pGrenade )		{			if ( ( m_nButtons & IN_ATTACK ) || (m_nButtons & IN_ATTACK2) )			{				DropPrimedFragGrenade( this, pGrenade );				return;			}			//DHL - Skillet			else			{				pGrenade->Drop( *pVelocity );				return;			}		}	}	BaseClass::Weapon_Drop( pWeapon, pvecTarget, pVelocity );}
开发者ID:dreckard,项目名称:dhl2,代码行数:25,


示例4: Weapon_CanSwitchTo

bool CSDKPlayer::Weapon_CanSwitchTo( CBaseCombatWeapon *pWeapon ){	if (IsPlayer())	{		CBasePlayer *pPlayer = (CBasePlayer *)this;#if !defined( CLIENT_DLL )		IServerVehicle *pVehicle = pPlayer->GetVehicle();#else		IClientVehicle *pVehicle = pPlayer->GetVehicle();#endif		if (pVehicle && !pPlayer->UsingStandardWeaponsInVehicle())			return false;	}	if ( !pWeapon->CanDeploy() )		return false;		if ( GetActiveWeapon() )	{		if ( !GetActiveWeapon()->CanHolster() )			return false;	}	return true;}
开发者ID:jlwitthuhn,项目名称:DoubleAction,代码行数:25,


示例5: switch

void CNPC_Monk::StartTask( const Task_t *pTask ){	switch( pTask->iTask )	{	case TASK_RELOAD:		{			if ( GetActiveWeapon() && GetActiveWeapon()->HasPrimaryAmmo() )			{				// Don't reload if you have done so while moving (See BACK_AWAY_AND_RELOAD schedule).				TaskComplete();				return;			}			if( m_iNumZombies >= 2 && random->RandomInt( 1, 3 ) == 1 )			{				SpeakIfAllowed( TLK_ATTACKING );			}			Activity reloadGesture = TranslateActivity( ACT_GESTURE_RELOAD );			if ( reloadGesture != ACT_INVALID && IsPlayingGesture( reloadGesture ) )			{				ResetIdealActivity( ACT_IDLE );				return;			}			BaseClass::StartTask( pTask );		}		break;	default:		BaseClass::StartTask( pTask );		break;	}}
开发者ID:RaraFolf,项目名称:FIREFIGHT-RELOADED-src-sdk-2013,代码行数:34,


示例6: GetActiveWeapon

void C_HL2MP_Player::DoImpactEffect( trace_t &tr, int nDamageType ){	if ( GetActiveWeapon() )	{		GetActiveWeapon()->DoImpactEffect( tr, nDamageType );		return;	}	BaseClass::DoImpactEffect( tr, nDamageType );}
开发者ID:uunx,项目名称:quakelife2,代码行数:10,


示例7: GetAbsOrigin

bool CNPC_Monk::IsValidEnemy( CBaseEntity *pEnemy ){	if ( BaseClass::IsValidEnemy( pEnemy ) && GetActiveWeapon() )	{		float flDist;		flDist = ( GetAbsOrigin() - pEnemy->GetAbsOrigin() ).Length();		if( flDist <= GetActiveWeapon()->m_fMaxRange1 )			return true;	}	return false;}
开发者ID:RaraFolf,项目名称:FIREFIGHT-RELOADED-src-sdk-2013,代码行数:12,


示例8: SetCondition

//-----------------------------------------------------------------------------// Purpose: check ammo//-----------------------------------------------------------------------------void CAI_BaseHumanoid::CheckAmmo( void ){	BaseClass::CheckAmmo();	// FIXME: put into GatherConditions()?	// FIXME: why isn't this a baseclass function?	if (!GetActiveWeapon())		return;	// Don't do this while holstering / unholstering	if ( IsWeaponStateChanging() )		return;	if (GetActiveWeapon()->UsesPrimaryAmmo())	{		if (!GetActiveWeapon()->HasPrimaryAmmo() )		{			SetCondition(COND_NO_PRIMARY_AMMO);		}		else if (GetActiveWeapon()->UsesClipsForAmmo1() && GetActiveWeapon()->Clip1() < (GetActiveWeapon()->GetMaxClip1() / 4 + 1))		{			// don't check for low ammo if you're near the max range of the weapon			SetCondition(COND_LOW_PRIMARY_AMMO);		}	}	if (!GetActiveWeapon()->HasSecondaryAmmo() )	{		if ( GetActiveWeapon()->UsesClipsForAmmo2() )		{			SetCondition(COND_NO_SECONDARY_AMMO);		}	}}
开发者ID:Bubbasacs,项目名称:FinalProj,代码行数:37,


示例9: GetActiveWeapon

Activity CDODPlayer::TranslateActivity( Activity baseAct, bool *pRequired /* = NULL */ ){	Activity translated = baseAct;	if ( GetActiveWeapon() )	{		translated = GetActiveWeapon()->ActivityOverride( baseAct, pRequired );	}	else if (pRequired)	{		*pRequired = false;	}	return translated;}
开发者ID:Axitonium,项目名称:SourceEngine2007,代码行数:15,


示例10: GetActiveWeapon

void CHL2MP_Player::FireBullets ( const FireBulletsInfo_t &info ){#ifndef GE_DLL    // Move other players back to history positions based on local player's lag    lagcompensation->StartLagCompensation( this, this->GetCurrentCommand() );    FireBulletsInfo_t modinfo = info;    CWeaponHL2MPBase *pWeapon = dynamic_cast<CWeaponHL2MPBase *>( GetActiveWeapon() );    if ( pWeapon )    {        modinfo.m_iPlayerDamage = modinfo.m_iDamage = pWeapon->GetHL2MPWpnData().m_iPlayerDamage;    }    NoteWeaponFired();    BaseClass::FireBullets( modinfo );    // Move other players back to history positions based on local player's lag    lagcompensation->FinishLagCompensation( this );#else    BaseClass::FireBullets( info );#endif}
开发者ID:Entropy-Soldier,项目名称:ges-legacy-code,代码行数:25,


示例11: GetNavigator

bool CAI_BaseHumanoid::OnMoveBlocked( AIMoveResult_t *pResult ){	if ( *pResult != AIMR_BLOCKED_NPC && GetNavigator()->GetBlockingEntity() && !GetNavigator()->GetBlockingEntity()->IsNPC() )	{		CBaseEntity *pBlocker = GetNavigator()->GetBlockingEntity();		float massBonus = ( IsNavigationUrgent() ) ? 40.0 : 0;		if ( pBlocker->GetMoveType() == MOVETYPE_VPHYSICS && 			 pBlocker != GetGroundEntity() && 			 !pBlocker->IsNavIgnored() &&			 !dynamic_cast<CBasePropDoor *>(pBlocker) &&			 pBlocker->VPhysicsGetObject() && 			 pBlocker->VPhysicsGetObject()->IsMoveable() && 			 ( pBlocker->VPhysicsGetObject()->GetMass() <= 35.0 + massBonus + 0.1 || 			   ( pBlocker->VPhysicsGetObject()->GetMass() <= 50.0 + massBonus + 0.1 && IsSmall( pBlocker ) ) ) )		{			DbgNavMsg1( this, "Setting ignore on object %s", pBlocker->GetDebugName() );			pBlocker->SetNavIgnore( 2.5 );		}#if 0		else		{			CPhysicsProp *pProp = dynamic_cast<CPhysicsProp*>( pBlocker );			if ( pProp && pProp->GetHealth() && pProp->GetExplosiveDamage() == 0.0 && GetActiveWeapon() && !GetActiveWeapon()->ClassMatches( "weapon_rpg" ) )			{				Msg( "!/n" );				// Destroy!			}		}#endif	}	return BaseClass::OnMoveBlocked( pResult );}
开发者ID:Bubbasacs,项目名称:FinalProj,代码行数:35,


示例12: PlayerUse

//-----------------------------------------------------------------------------// Purpose: Called every usercmd by the player PreThink//-----------------------------------------------------------------------------void CBasePlayer::ItemPreFrame(){	// Handle use events	PlayerUse();	CBaseCombatWeapon *pActive = GetActiveWeapon();	// Allow all the holstered weapons to update	for ( int i = 0; i < WeaponCount(); ++i )	{		CBaseCombatWeapon *pWeapon = GetWeapon( i );		if ( pWeapon == NULL )			continue;		if ( pActive == pWeapon )			continue;		pWeapon->ItemHolsterFrame();	}    if ( gpGlobals->curtime < m_flNextAttack )		return;	if (!pActive)		return;#if defined( CLIENT_DLL )	// Not predicting this weapon	if ( !pActive->IsPredicted() )		return;#endif	pActive->ItemPreFrame();}
开发者ID:EspyEspurr,项目名称:game,代码行数:38,


示例13: EmitSound

//-----------------------------------------------------------------------------// Purpose//-----------------------------------------------------------------------------void C_BaseViewModel::FireEvent( const Vector& origin, const QAngle& angles, int event, const char *options ){	// We override sound requests so that we can play them locally on the owning player	if ( ( event == AE_CL_PLAYSOUND ) || ( event == CL_EVENT_SOUND ) )	{		// Only do this if we're owned by someone		if ( GetOwner() != NULL )		{			CLocalPlayerFilter filter;			EmitSound( filter, GetOwner()->GetSoundSourceIndex(), options, &GetAbsOrigin() );			return;		}	}	// Otherwise pass the event to our associated weapon	C_BaseCombatWeapon *pWeapon = GetActiveWeapon();	if ( pWeapon )	{		// NVNT notify the haptics system of our viewmodel's event		if ( haptics )			haptics->ProcessHapticEvent(4,"Weapons",pWeapon->GetName(),"AnimationEvents",VarArgs("%i",event));		bool bResult = pWeapon->OnFireEvent( this, origin, angles, event, options );		if ( !bResult )		{			BaseClass::FireEvent( origin, angles, event, options );		}	}}
开发者ID:malortie,项目名称:ulaval,代码行数:32,


示例14: GetLastWeapon

CBaseCombatWeapon* CSDKPlayer::GetLastWeapon(){	// This is pretty silly, but I'd rather mess around with stock Valve code as little as possible.#ifdef CLIENT_DLL	CBaseCombatWeapon* pLastWeapon = BaseClass::GetLastWeapon();#else	CBaseCombatWeapon* pLastWeapon = BaseClass::Weapon_GetLast();#endif	if (pLastWeapon && pLastWeapon != GetActiveWeapon())		return pLastWeapon;	CWeaponSDKBase* pHeaviest = NULL;	CWeaponSDKBase* pBrawl = NULL;	for (int i = 0; i < WeaponCount(); i++)	{		if (!GetWeapon(i))			continue;		if (GetWeapon(i) == GetActiveWeapon())			continue;		CWeaponSDKBase* pSDKWeapon = dynamic_cast<CWeaponSDKBase*>(GetWeapon(i));		if (!pSDKWeapon)			continue;		if (pSDKWeapon->GetWeaponID() == SDK_WEAPON_BRAWL)		{			pBrawl = pSDKWeapon;			continue;		}		if (!pHeaviest)		{			pHeaviest = pSDKWeapon;			continue;		}		if (pHeaviest->GetWeight() < pSDKWeapon->GetWeight())			pHeaviest = pSDKWeapon;	}	if (!pHeaviest)		pHeaviest = pBrawl;	return pHeaviest;}
开发者ID:jlwitthuhn,项目名称:DoubleAction,代码行数:47,


示例15: VPROF

//-----------------------------------------------------------------------------// Purpose: Called every usercmd by the player PostThink//-----------------------------------------------------------------------------void CBasePlayer::ItemPostFrame(){	VPROF( "CBasePlayer::ItemPostFrame" );	// Put viewmodels into basically correct place based on new player origin	CalcViewModelView( EyePosition(), EyeAngles() );	// check if the player is using something	if ( m_hUseEntity != NULL )	{#if !defined( CLIENT_DLL )		ImpulseCommands();// this will call playerUse#endif		return;	}    if ( gpGlobals->curtime < m_flNextAttack )	{		if ( GetActiveWeapon() )		{			GetActiveWeapon()->ItemBusyFrame();		}	}	else	{		if ( GetActiveWeapon() )		{#if defined( CLIENT_DLL )			// Not predicting this weapon			if ( GetActiveWeapon()->IsPredicted() )#endif			{				GetActiveWeapon()->ItemPostFrame( );			}		}	}#if !defined( CLIENT_DLL )	ImpulseCommands();#else	// NOTE: If we ever support full impulse commands on the client,	// remove this line and call ImpulseCommands instead.	m_nImpulse = 0;#endif}
开发者ID:EspyEspurr,项目名称:game,代码行数:49,


示例16: GetActiveWeapon

//-----------------------------------------------------------------------------// Purpose: called every frame to get ammo info from the weapon//-----------------------------------------------------------------------------void CDoDHudAmmo::OnThink(){    C_BaseCombatWeapon *wpn = GetActiveWeapon();    C_BasePlayer *player = C_BasePlayer::GetLocalPlayer();    hudlcd->SetGlobalStat( "(weapon_print_name)", wpn ? wpn->GetPrintName() : " " );    hudlcd->SetGlobalStat( "(weapon_name)", wpn ? wpn->GetName() : " " );    if ( !wpn || !player || !wpn->UsesPrimaryAmmo() )    {        hudlcd->SetGlobalStat( "(ammo_primary)", "n/a" );        hudlcd->SetGlobalStat( "(ammo_secondary)", "n/a" );        SetPaintEnabled( false );        SetPaintBackgroundEnabled( false );        return;    }    else    {        SetPaintEnabled( true );        SetPaintBackgroundEnabled( true );    }    // get the ammo in our clip    int ammo1 = wpn->Clip1();    int ammo2;    if ( ammo1 < 0 )    {        // we don't use clip ammo, just use the total ammo count        ammo1 = player->GetAmmoCount( wpn->GetPrimaryAmmoType() );        ammo2 = 0;    }    else    {        // we use clip ammo, so the second ammo is the total ammo        ammo2 = player->GetAmmoCount( wpn->GetPrimaryAmmoType() );    }    hudlcd->SetGlobalStat( "(ammo_primary)", VarArgs( "%d", ammo1 ) );    hudlcd->SetGlobalStat( "(ammo_secondary)", VarArgs( "%d", ammo2 ) );    if ( wpn == m_hCurrentActiveWeapon )    {        // same weapon, just update counts        SetAmmo( ammo1, true );        SetAmmo2( ammo2, true );    }    else    {        // diferent weapon, change without triggering        SetAmmo( ammo1, false );        SetAmmo2( ammo2, false );        // update whether or not we show the total ammo display        m_bUsesClips = wpn->UsesClipsForAmmo1();        m_hCurrentActiveWeapon = wpn;    }}
开发者ID:steadyfield,项目名称:SourceEngine2007,代码行数:61,


示例17: GetViewModelFOV

//-----------------------------------------------------------------------------// Purpose: Use correct view model FOV//-----------------------------------------------------------------------------float ClientModeHL2MPNormal::GetViewModelFOV(){	CWeaponHL2MPBase *pWeapon = dynamic_cast<CWeaponHL2MPBase*>(GetActiveWeapon());	if (pWeapon)	{		return pWeapon->GetViewModelFOV();	}	return BaseClass::GetViewModelFOV();}
开发者ID:Ochii,项目名称:nt-revamp,代码行数:13,


示例18: GetActiveWeapon

//-----------------------------------------------------------------------------// Only supports weapons that use clips.//-----------------------------------------------------------------------------bool CRebelZombie::ActiveWeaponIsFullyLoaded(){	CBaseCombatWeapon *pWeapon = GetActiveWeapon();	if( !pWeapon )		return false;	//Always loaded.	return true;}
开发者ID:KyleGospo,项目名称:City-17-Episode-One-Source,代码行数:13,


示例19: GetActiveWeapon

//-----------------------------------------------------------------------------// Purpose: //-----------------------------------------------------------------------------void C_BaseViewModel::GetBoneControllers(float controllers[MAXSTUDIOBONECTRLS]){	BaseClass::GetBoneControllers( controllers );	// Tell the weapon itself that we've rendered, in case it wants to do something	C_BaseCombatWeapon *pWeapon = GetActiveWeapon();	if ( pWeapon )	{		pWeapon->GetViewmodelBoneControllers( this, controllers );	}}
开发者ID:malortie,项目名称:ulaval,代码行数:14,



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


C++ GetActiveWindow函数代码示例
C++ GetActiveView函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。