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

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

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

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

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

示例1: GetOwnerActor

//------------------------------------------------------------------------void CVehicleMountedWeapon::StartUse(EntityId userId){	IVehicle *pVehicle = gEnv->pGame->GetIGameFramework()->GetIVehicleSystem()->GetVehicle(m_vehicleId);	if (!IsRippingOff() && pVehicle)	{ 		m_pOwnerSeat = pVehicle->GetWeaponParentSeat(GetEntityId());		m_pSeatUser = pVehicle->GetSeatForPassenger(userId);		IActor* pOwner = GetOwnerActor();		if (pOwner && !pOwner->IsPlayer())		{			SHUDEvent hudEvent(eHUDEvent_AddEntity);			hudEvent.AddData((int)pVehicle->GetEntityId());			CHUDEventDispatcher::CallEvent(hudEvent);		}		ClearItemFlags(eIF_InformClientsAboutUse); 	}	CHeavyMountedWeapon::StartUse(userId);	CActor* pActor = GetOwnerActor();	if (pActor && pActor->IsPlayer())	{		static_cast<CPlayer*>(pActor)->RefreshVisibilityState();	}}
开发者ID:amrhead,项目名称:eaascode,代码行数:28,


示例2: SetDualSlaveAccessory

//------------------------------------------------------------------------void CItem::SetDualSlaveAccessory(bool noNetwork){	if(!gEnv->bMultiplayer || (GetOwnerActor() && GetOwnerActor()->IsClient()))	{		CItem *pSlave = static_cast<CItem *>(GetDualWieldSlave());		if (!pSlave)			return;		//Detach current accessories of the slave		TAccessoryMap temp = pSlave->m_accessories;		for (TAccessoryMap::const_iterator it=temp.begin(); it!=temp.end(); ++it)		{			if(m_accessories.find(it->first)==m_accessories.end())				pSlave->SwitchAccessory(it->first.c_str()); //Only remove if not in the master		}		//Attach on the slave same accessories as "parent"		for (TAccessoryMap::const_iterator it=m_accessories.begin(); it!=m_accessories.end(); ++it)		{			if(pSlave->m_accessories.find(it->first)==pSlave->m_accessories.end())			{				if(noNetwork)					pSlave->AttachAccessory(it->first.c_str(), true, true, true);				else					pSlave->SwitchAccessory(it->first.c_str()); //Only add if not already attached			}		}	}}
开发者ID:Arnm7890,项目名称:CryGame,代码行数:30,


示例3: ResetState

void CBinocular::OnDropped(EntityId actorId){	ResetState();	if(GetOwnerActor() == NULL)		return;	GetOwnerActor()->SelectLastItem(true, true);}
开发者ID:Hellraiser666,项目名称:CryGame,代码行数:9,


示例4: CRY_ASSERT

//------------------------------------------------------void CWeapon::SetInputFlag(uint8 actionFlag) { 	CRY_ASSERT(GetOwnerActor() && ( GetOwnerActor()->IsClient() || !GetOwnerActor()->IsPlayer() ) );	if (!s_lockActionRequests) 	{		s_requestedActions |= actionFlag;	} }
开发者ID:danielasun,项目名称:dbho-GameSDK,代码行数:10,


示例5: DrawSlot

//========================================void CRocketLauncher::PickUp(EntityId pickerId, bool sound, bool select, bool keepHistory, const char *setup){	CWeapon::PickUp(pickerId,sound,select,keepHistory, setup);	if(m_auxSlotUsed)	{		DrawSlot(eIGS_ThirdPersonAux,false);		m_auxSlotUsed = false;	}	if(GetOwnerActor() && !GetOwnerActor()->IsPlayer())		m_stats.first_selection = false;}
开发者ID:nhnam,项目名称:Seasons,代码行数:15,


示例6: IMPLEMENT_RMI

//------------------------------------------------------------------------IMPLEMENT_RMI(CItem, SvRequestAttachAccessory){	if (IInventory *pInventory=GetActorInventory(GetOwnerActor()))	{		char accessoryName[129] = {0};		bool result = g_pGame->GetIGameFramework()->GetNetworkSafeClassName(accessoryName, 128, params.accessoryClassId);#if !defined(_RELEASE)	if(!result)	{		char errorMsg[256];		sprintf(errorMsg, "CItem::SvRequestAttachAccessory failed to find network safe class name for id %d", params.accessoryClassId);		CRY_ASSERT_MESSAGE(result, errorMsg);	}#endif		if (accessoryName[0] != '/0' && pInventory->GetCountOfClass(accessoryName)>0)		{			DoSwitchAccessory(accessoryName);			GetGameObject()->InvokeRMI(ClAttachAccessory(), params, eRMI_ToAllClients|eRMI_NoLocalCalls);			return true;		}	}		return true; // set this to false later}
开发者ID:Kufusonic,项目名称:Work-in-Progress-Sonic-Fangame,代码行数:28,


示例7: GetOwnerActor

//---------------------------------------------------------------------------void CVehicleWeapon::CheckForFriendlyPlayers(float frameTime){	CActor *pOwner = GetOwnerActor();	if(pOwner && pOwner->IsPlayer() && gEnv->bMultiplayer)	{		m_timeToUpdate-=frameTime;		if(m_timeToUpdate>0.0f)			return;		m_timeToUpdate = 0.15f;		if(IMovementController *pMC = pOwner->GetMovementController())		{			SMovementState info;			pMC->GetMovementState(info);			ray_hit rayhit;			IPhysicalEntity *pSkipEnts[10];			int nSkip = CSingle::GetSkipEntities(this, pSkipEnts, 10);			int intersect = gEnv->pPhysicalWorld->RayWorldIntersection(info.weaponPosition, info.aimDirection * 150.0f, ent_all,							rwi_stop_at_pierceable|rwi_colltype_any, &rayhit, 1, pSkipEnts, nSkip);			IEntity *pLookAtEntity = NULL;			if(intersect && rayhit.pCollider)				pLookAtEntity = m_pEntitySystem->GetEntityFromPhysics(rayhit.pCollider);			bool bFriendly = false;		}	}}
开发者ID:Hellraiser666,项目名称:CryGame,代码行数:35,


示例8: PerformRipOff

void CHeavyMountedWeapon::SetRippingOff(bool ripOff){	if(ripOff && !m_rippingOff && !m_rippedOff)	{		PerformRipOff(GetOwnerActor());	}}
开发者ID:Xydrel,项目名称:Infected,代码行数:7,


示例9: GetEntity

void CHeavyMountedWeapon::ProcessEvent(SEntityEvent& event){	if ((event.event == ENTITY_EVENT_XFORM) && IsMounted() && GetOwnerId())	{		const float Z_EPSILON = 0.01f;		const Ang3& worldAngles = GetEntity()->GetWorldAngles();		float xAngle = worldAngles.x;		float zAngle = worldAngles.z;		bool xAnglesAreEquivalent = (fabs(xAngle-m_lastXAngle)<Z_EPSILON);		bool zAnglesAreEquivalent = (fabs(zAngle-m_lastZAngle)<Z_EPSILON);		if (!xAnglesAreEquivalent || !zAnglesAreEquivalent)		{			if (m_rotatingSoundID==INVALID_SOUNDID)				m_rotatingSoundID = PlayRotationSound();			m_RotationSoundTimeOut = 0.15f;			RequireUpdate( eIUS_General );			m_lastXAngle = xAngle;			m_lastZAngle = zAngle;		}					int flags = (int)event.nParam[0];		if ((flags & ENTITY_XFORM_FROM_PARENT) && !(flags & ENTITY_XFORM_USER))		{			if (CActor* pOwnerActor = GetOwnerActor())			{				pOwnerActor->UpdateMountedGunController(true);			}		}	}	BaseClass::ProcessEvent(event);}
开发者ID:Xydrel,项目名称:Infected,代码行数:32,


示例10: SwitchToRippedOffFireMode

void CHeavyMountedWeapon::SetUnMountedConfiguration(){	SwitchToRippedOffFireMode();	IFireMode * pMountedFireMode = GetFireMode(0);	assert(pMountedFireMode);		pMountedFireMode->Enable(false);	ExitZoom(true);	//Second zoom mode is supposed to be unmounted	if(GetZoomMode(1))	{		EnableZoomMode(1, true);		SetCurrentZoomMode(1);	}	//Just in case, it was not clear properly	CActor* pOwner = GetOwnerActor();	if ((pOwner != NULL) && pOwner->IsClient())	{		float defaultFov = 55.0f;		gEnv->pRenderer->EF_Query(EFQ_SetDrawNearFov,defaultFov);	}}
开发者ID:Xydrel,项目名称:Infected,代码行数:26,


示例11: GetOwnerActor

//---------------------------------------------------------------------------------bool CWeapon::OnActionFiremode(EntityId actorId, const ActionId& actionId, int activationMode, float value){	CActor* pOwner = GetOwnerActor();	CPlayer* pPlayer = pOwner && pOwner->IsPlayer() ? static_cast<CPlayer*>(pOwner) : 0;	if (pPlayer && (pPlayer->IsCinematicFlagActive(SPlayerStats::eCinematicFlag_LowerWeapon) || pPlayer->IsCinematicFlagActive(SPlayerStats::eCinematicFlag_LowerWeaponMP)) )		return true;	bool incompatibleZommMode = (m_secondaryZmId != 0 && (IsZoomed() || IsZoomingInOrOut()));	if (AreAnyItemFlagsSet(eIF_BlockActions) || incompatibleZommMode)	{		return true;	}	if (activationMode == eAAM_OnPress)	{		IFireMode* pNewFiremode = GetFireMode(GetNextFireMode(GetCurrentFireMode()));		if (pNewFiremode == m_fm)		{			if(pPlayer && pPlayer->CanSwitchItems())			{				pPlayer->SwitchToWeaponWithAccessoryFireMode();			}		}		else if (!IsReloading())		{			StartChangeFireMode();		}	}	return true;}
开发者ID:danielasun,项目名称:dbho-GameSDK,代码行数:33,


示例12: CheckSprint

bool CWeapon::CheckSprint(){	CPlayer *pPlayer = static_cast<CPlayer*>(GetOwnerActor());	if(!pPlayer || pPlayer->IsSliding())		return false;	SPlayerStats *pStats = static_cast<SPlayerStats*>(pPlayer->GetActorStats());	assert(pStats);	if(pPlayer->IsSprinting())	{		pStats->bIgnoreSprinting = true;		float delayScale = pPlayer->GetModifiableValues().GetValue(kPMV_WeaponFireFromSprintTimeScale);		m_delayedFireActionTimeOut = GetParams().sprintToFireDelay * delayScale;		return true;	}	else if (m_delayedFireActionTimeOut > 0.f)	{		return true;	}	return false;}
开发者ID:danielasun,项目名称:dbho-GameSDK,代码行数:25,


示例13: GetOwnerActor

//------------------------------------------------------------------------void CItem::UpdateFPPosition(float frameTime){	CActor* pActor = GetOwnerActor();	if (!pActor)		return;	SPlayerStats *pStats = static_cast<SPlayerStats *>(pActor->GetActorStats());	if (!pStats)		return;	Matrix34 tm = Matrix33::CreateRotationXYZ(pStats->FPWeaponAngles);	Vec3 offset(0.0f,0.0f,0.0f);	float right(g_pGameCVars->i_offset_right);	float front(g_pGameCVars->i_offset_front);	float up(g_pGameCVars->i_offset_up);	if (front!=0.0f || up!=0.0f || right!=0.0f)	{		offset += tm.GetColumn(0).GetNormalized() * right;		offset += tm.GetColumn(1).GetNormalized() * front;		offset += tm.GetColumn(2).GetNormalized() * up;	}	tm.SetTranslation(pStats->FPWeaponPos + offset);	GetEntity()->SetWorldTM(tm);	//CryLogAlways("weaponpos: %.3f,%.3f,%.3f // weaponrot: %.3f,%.3f,%.3f", tm.GetTranslation().x,tm.GetTranslation().y,tm.GetTranslation().z, pStats->FPWeaponAngles.x, pStats->FPWeaponAngles.y, pStats->FPWeaponAngles.z);}
开发者ID:AiYong,项目名称:CryGame,代码行数:31,


示例14: PreActionAttack

//--------------------------------------------------------------------bool CWeapon::PreActionAttack(bool startFire){	// Melee while pressing SHIFT for SP	CPlayer *pPlayer = static_cast<CPlayer*>(GetOwnerActor());	if(!pPlayer)		return false;/*	//if(gEnv->bMultiplayer)	{		if(startFire && pPlayer->IsSprinting())		{			//Stop sprinting, start firing			SPlayerStats *pStats = static_cast<SPlayerStats*>(pPlayer->GetActorStats());			if(pStats)			{				pStats->bSprinting = false;				pStats->bIgnoreSprinting = true;			}		}		else if(!startFire)		{			//Stop firing, continue sprinting			SPlayerStats *pStats = static_cast<SPlayerStats*>(pPlayer->GetActorStats());			if(pStats)				pStats->bIgnoreSprinting = false;		}	}	return false;	*/	if(startFire && pPlayer->IsSprinting()) return true;	else return false;}
开发者ID:wang1986one,项目名称:remod,代码行数:36,


示例15: CollisionFeeback

//---------------------------------------------------------------void CFists::CollisionFeeback(Vec3 &pos, int eFAS){	CPlayer *pPlayer = static_cast<CPlayer*>(GetOwnerActor());	if(pPlayer)	{		switch(eFAS)		{			case eFAS_RUNNING:				pPlayer->PlaySound(CPlayer::ESound_Hit_Wall,true,true,"speed",0.4f);				break;			case eFAS_JUMPING:				pPlayer->PlaySound(CPlayer::ESound_Hit_Wall,true,true,"speed",0.8f);				break;			default:				break;		}	}	//FX feedback	IParticleEffect *pEffect = gEnv->pParticleManager->FindEffect("collisions.footsteps.dirt");	if (pEffect)	{		Matrix34 tm = IParticleEffect::ParticleLoc(pos);		pEffect->Spawn(true,tm);	}	}
开发者ID:AiYong,项目名称:CryGame,代码行数:30,


示例16: CryLog

//------------------------------------------------------------------------void CParachute::Close(bool drop/*=false*/){    // not used any more    return;    CryLog("Closing Parachute..");    if (m_actorId)    {        IEntity* pEnt = m_pEntitySystem->GetEntity(m_actorId);        if (pEnt && pEnt->GetParent()->GetId() == m_canvasId)        {            pEnt->DetachThis();        }        m_actorId = 0;    }    CActor* pActor = GetOwnerActor();    if (pActor)    {        pActor->LinkToVehicle(0);        if (IsOpened())        {            if (drop)                pActor->DropItem(GetEntity()->GetId(), 1.0f, false);        }    }    m_isOpened = false;}
开发者ID:RenEvo,项目名称:dead6,代码行数:31,


示例17: GetOwnerActor

//---------------------------------------------------------------void CAmmoPickup::ShouldSwitchGrenade(IEntityClass* pClass){	bool flashbang = (pClass==CItem::sFlashbangGrenade);	bool smoke     = (pClass==CItem::sSmokeGrenade);	bool emp       = (pClass==CItem::sEMPGrenade);	bool explosive = (pClass==CItem::sExplosiveGrenade);	if(!flashbang && !smoke && !emp && !explosive)		return;	CActor* pPlayer = GetOwnerActor();		if(!pPlayer)		return;	COffHand* pOffHand = static_cast<COffHand*>(pPlayer->GetWeaponByClass(CItem::sOffHandClass));	if(pOffHand)	{		if(IFireMode* fm = pOffHand->GetFireMode(pOffHand->GetCurrentFireMode()))		{			if(fm->OutOfAmmo())			{				if(explosive)					pOffHand->RequestFireMode(EXPLOSIVE_GRENADE);				else if(smoke)					pOffHand->RequestFireMode(SMOKE_GRENADE);				else if(flashbang)					pOffHand->RequestFireMode(FLASHBANG_GRENADE);				else if(emp)					pOffHand->RequestFireMode(EMP_GRENADE);			}		}	}}
开发者ID:mrwonko,项目名称:CrysisVR,代码行数:36,


示例18: GetOwnerActor

//------------------------------------------------------------------------bool CC4::CanSelect() const{	bool canSelect = (CWeapon::CanSelect() && !OutOfAmmo(false));	//Check for remaining projectiles to detonate	if(!canSelect)	{		CActor *pOwner = GetOwnerActor();		if(!pOwner)			return false;		EntityId detonatorId = pOwner->GetInventory()?pOwner->GetInventory()->GetItemByClass(CItem::sDetonatorClass):0;		//Do not re-select detonator again		if(detonatorId && (detonatorId==pOwner->GetCurrentItemId()))			return false;		IFireMode *pFM = GetFireMode(GetCurrentFireMode());		if(pFM)		{			//CC4::Select will select the detonator in this case			EntityId projectileId = pFM->GetProjectileId();			if(projectileId && g_pGame->GetWeaponSystem()->GetProjectile(projectileId))				return true;		}	}	return canSelect;};
开发者ID:super-nova,项目名称:NovaRepo,代码行数:34,


示例19: GetGameObject

//------------------------------------------------------------------------void CItem::InitClient(int channelId){	// send the differences between the current, and the initial setup	for(TAccessoryMap::iterator it=m_accessories.begin(); it != m_accessories.end(); ++it)		GetGameObject()->InvokeRMI(ClAttachAccessory(), RequestAttachAccessoryParams(it->first.c_str()), eRMI_ToClientChannel, channelId);	IActor *pOwner=GetOwnerActor();	if(!pOwner)		return;	// only send the pickup message if the player is connecting	// for items spawned during gameplay, CItem::PickUp is already sending the pickup message	INetChannel *pNetChannel=m_pGameFramework->GetNetChannel(channelId);	if(pNetChannel && pNetChannel->GetContextViewState()<eCVS_InGame)	{		if(!m_stats.mounted && !m_stats.used)		{			pOwner->GetGameObject()->InvokeRMIWithDependentObject(CActor::ClPickUp(),					CActor::PickItemParams(GetEntityId(), m_stats.selected, false), eRMI_ToClientChannel, GetEntityId(), channelId);			//GetOwnerActor()->GetGameObject()->InvokeRMI(CActor::ClPickUp(),			//	CActor::PickItemParams(GetEntityId(), m_stats.selected, false), eRMI_ToClientChannel, channelId);		}	}	if(m_stats.mounted && m_stats.used)	{		pOwner->GetGameObject()->InvokeRMIWithDependentObject(CActor::ClStartUse(),				CActor::ItemIdParam(GetEntityId()), eRMI_ToClientChannel, GetEntityId(), channelId);	}}
开发者ID:Hellraiser666,项目名称:CryGame,代码行数:33,


示例20: SetViewMode

void CJaw::PostSerialize(){	BaseClass::PostSerialize();	if(m_auxSlotUsed)	{		SetViewMode(0);		DrawSlot(eIGS_ThirdPersonAux,true);	}	else if (GetOwner() != 0 && !IsAttachedToBack() && !IsAttachedToHand())	{		Hide(true);	}	else if (!IsOwnerFP())	{		SetViewMode(eIVM_ThirdPerson);		DrawSlot(eIGS_ThirdPerson, true);		DrawSlot(eIGS_ThirdPersonAux,false);	}	if (m_smokeActive)	{		Pickalize(false, true);	}	if (GetOwner() != 0)	{		CActor* pOwner = GetOwnerActor();		IInventory* pInventory = pOwner ? pOwner->GetInventory() : 0;		UnregisterUsedAmmoWithInventory(pInventory);		RegisterUsedAmmoWithInventory(pInventory);	}}
开发者ID:amrhead,项目名称:eaascode,代码行数:33,


示例21: GetOwnerActor

void CJaw::OnShoot(EntityId shooterId, EntityId ammoId, IEntityClass* pAmmoType, const Vec3 &pos, const Vec3 &dir, const Vec3 &vel){	BaseClass::OnShoot(shooterId, ammoId, pAmmoType, pos, dir, vel);	CActor *pOwnerActor = GetOwnerActor();	if (pOwnerActor)	{		// Set the projectile to target the forced entity		if (m_forcedTargetId > 0)		{			CProjectile *pProjectile = g_pGame->GetWeaponSystem()->GetProjectile(ammoId);			if (pProjectile)			{				pProjectile->SetDestination(m_forcedTargetId);			}		}		if (pOwnerActor->IsClient() && m_laserGuider.IsLaserActivated())		{			SHUDEvent event(eHUDEvent_InfoSystemsEvent);			event.AddData(SHUDEventData(1));			event.AddData(SHUDEventData(2.f));			event.AddData(SHUDEventData("@hud_guided"));			CHUDEventDispatcher::CallEvent(event);		}		if (pOwnerActor->IsClient())			m_fired = true;	}	SvActivateMissileCountermeasures(shooterId, pos, dir);}
开发者ID:amrhead,项目名称:eaascode,代码行数:32,


示例22: RequestFireMode

//------------------------------------------------------------------------void CWeapon::RequestFireMode(int fmId){    if(fmId==GetCurrentFireMode())        return;    CActor *pActor=GetOwnerActor();    if (gEnv->IsClient() && pActor && pActor->IsClient())    {        float animationTime = GetCurrentAnimationTime(eIGS_Owner)/1000.0f;        m_switchFireModeTimeStap = gEnv->pTimer->GetCurrTime() + animationTime;        if(gEnv->bServer)        {            SetCurrentFireMode(fmId);        }        else        {            if(m_fm)            {                m_fm->Activate(false);            }            GetGameObject()->InvokeRMI(SvRequestFireMode(), SvRequestFireModeParams(fmId), eRMI_ToServer);        }        StartVerificationSample(gEnv->pTimer->GetAsyncCurTime());        SHUDEvent event(eHUDEvent_OnWeaponFireModeChanged);        event.AddData(SHUDEventData(fmId));        CHUDEventDispatcher::CallEvent(event);    }}
开发者ID:Kufusonic,项目名称:Work-in-Progress-Sonic-Fangame,代码行数:31,


示例23: RequestStartMeleeAttack

//------------------------------------------------------------------------void CWeapon::RequestStartMeleeAttack(bool weaponMelee, bool boostedAttack, int8 attackIndex /*= -1*/){    CActor *pActor=GetOwnerActor();    if (!gEnv->bServer && pActor && pActor->IsClient())    {        GetGameObject()->InvokeRMI(CWeapon::SvRequestStartMeleeAttack(), MeleeRMIParams(boostedAttack,attackIndex), eRMI_ToServer);#ifndef _RELEASE        if(g_pGameCVars->pl_pickAndThrow.environmentalWeaponComboDebugEnabled)        {            CryLogAlways("COMBO - RequestStartMeleeAttack - called by NON SERVER client with attack index [%d]",attackIndex);            CryLogAlways("COMBO - RequestStartMeleeAttack - calling SvRequestStartMeleeAttack");        }#endif //#ifndef _RELEASE    }    else if (IsServer())    {        m_attackIndex		= attackIndex;        m_meleeCounter	= (m_meleeCounter + 1) % kMeleeCounterMax;#ifndef _RELEASE        if(g_pGameCVars->pl_pickAndThrow.environmentalWeaponComboDebugEnabled)        {            CryLogAlways("COMBO - RequestStartMeleeAttack - called by server, about to netserialising to clients w A.Index. [%d]", m_attackIndex);        }#endif //#ifndef _RELEASE        CHANGED_NETWORK_STATE(this, ASPECT_MELEE);    }}
开发者ID:Kufusonic,项目名称:Work-in-Progress-Sonic-Fangame,代码行数:32,


示例24: OnReset

//------------------------------------------------------------------------void CPlayerFeature::OnReset(){	CItem::OnReset();	CActor *pActor=GetOwnerActor();	for (std::vector<string>::const_iterator it=m_features.begin(); it!=m_features.end(); ++it)		ActivateFeature(pActor, it->c_str());}
开发者ID:AiYong,项目名称:CryGame,代码行数:9,


示例25: GetOwnerActor

//------------------------------------------------------------------------void CDebugGun::Shoot(bool bPrimary){     CWeapon::StartFire();    // console cmd        string cmd;    cmd = (bPrimary) ? g_pGameCVars->i_debuggun_1->GetString() : g_pGameCVars->i_debuggun_2->GetString();    cmd += " ";                  unsigned int flags = rwi_stop_at_pierceable|rwi_colltype_any;    if (m_fireModes[m_fireMode].first == "pierceability")  {     flags = (unsigned int)m_fireModes[m_fireMode].second & rwi_pierceability_mask;  }    IPhysicalWorld* pWorld = gEnv->pPhysicalWorld;  IPhysicalEntity *pSkip = GetOwnerActor()->GetEntity()->GetPhysics();  ray_hit rayhit;  CCamera& cam = GetISystem()->GetViewCamera();  Vec3 pos = cam.GetPosition()+cam.GetViewdir();  Vec3 dir = cam.GetViewdir() * HIT_RANGE;  IEntity* pEntity = 0;  if (pWorld->RayWorldIntersection(pos, dir, ent_all, flags, &rayhit, 1, &pSkip, 1))  {    pEntity = (IEntity*)rayhit.pCollider->GetForeignData(PHYS_FOREIGN_ID_ENTITY);          }    cmd.append(pEntity ? pEntity->GetName() : "0");       // if we execute an AI command take care of ai_debugdraw  if (cmd.substr(0, 3) == "ai_")  {    if (pEntity && m_pAIDebugDraw->GetIVal() == 0)      m_pAIDebugDraw->Set(1);    else if(!pEntity && m_aiDebugDrawPrev == 0 && m_pAIDebugDraw->GetIVal() == 1)      m_pAIDebugDraw->Set(0);  }  gEnv->pConsole->ExecuteString(cmd.c_str());  // if 2nd button hits a vehicle, enable movement profiling    if (!bPrimary)  {    static IVehicleSystem* pVehicleSystem = g_pGame->GetIGameFramework()->GetIVehicleSystem();         string vehicleCmd = "v_debugVehicle ";    vehicleCmd.append((pEntity && pVehicleSystem->GetVehicle(pEntity->GetId())) ? pEntity->GetName() : "0");        gEnv->pConsole->ExecuteString(vehicleCmd.c_str());  }  OnShoot(GetOwnerId(), 0, 0, pos, dir, Vec3(ZERO));}
开发者ID:Kufusonic,项目名称:Work-in-Progress-Sonic-Fangame,代码行数:59,


示例26: GetOwnerActor

//------------------------------------------------------------------------void CVehicleWeapon::SetAmmoCount(IEntityClass* pAmmoType, int count){   IActor* pOwner = GetOwnerActor();    if (pOwner && !pOwner->IsPlayer() && count < m_ammo[pAmmoType])    return;    CWeapon::SetAmmoCount(pAmmoType, count);    }
开发者ID:kitnet,项目名称:crynegine,代码行数:10,


示例27:

//=======================================================================void CC4::SelectDetonator(){	if (CActor *pOwner=GetOwnerActor())	{		EntityId detonatorId = pOwner->GetInventory()->GetItemByClass(CItem::sDetonatorClass);		if (detonatorId)			pOwner->SelectItemByName("Detonator", false);	}}
开发者ID:Arnm7890,项目名称:CryGame,代码行数:10,



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


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