示例#1
0
//------------------------------------------------------------------------
void CItem::OnEnterThirdPerson()
{
    EnableHiddenSkinning(false);
    AttachToHand(true);
    AttachArms(false, false);
    SetViewMode(eIVM_ThirdPerson);
    /*
    	if(m_stats.mounted)
    	{
    		ICharacterInstance* pChar = GetOwnerActor()?GetOwnerActor()->GetEntity()->GetCharacter(0):NULL;
    		if(pChar)
    			pChar->HideMaster(0);
    	}*/
}
示例#2
0
//------------------------------------------------------------------------
void CItem::OnEnterFirstPerson()
{
    //Prevent FP model to show up when activating AI/Physics in editor
    if(gEnv->IsEditor() && gEnv->IsEditing())
        return;

    EnableUpdate(true, eIUS_General);
    EnableHiddenSkinning(true);
    SetViewMode(eIVM_FirstPerson);
    AttachToHand(false);
    AttachArms(true, true);
    RestoreLayers();

    /*
    	if(m_stats.mounted)
    	{
    		ICharacterInstance* pChar = GetOwnerActor()?GetOwnerActor()->GetEntity()->GetCharacter(0):NULL;
    		if(pChar)
    			pChar->HideMaster(1);
    	}*/

}
示例#3
0
//------------------------------------------------------------------------
void CItem::CheckViewChange()
{
	CActor *pOwner = GetOwnerActor();

	if(m_stats.mounted)
	{
		bool fp = pOwner?!pOwner->IsThirdPerson():false;

		if(fp!=m_stats.fp)
		{
			if(fp || !(m_stats.viewmode&eIVM_FirstPerson))
				OnEnterFirstPerson();
			else if(!fp)
				AttachArms(false, false);
		}

		m_stats.fp = fp;

		return;
	}

	if(!pOwner)
		return;

	if(!pOwner->IsThirdPerson())
	{
		if(!m_stats.fp || !(m_stats.viewmode&eIVM_FirstPerson))
			OnEnterFirstPerson();

		m_stats.fp = true;
	}
	else
	{
		if(m_stats.fp || !(m_stats.viewmode&eIVM_ThirdPerson))
			OnEnterThirdPerson();

		m_stats.fp = false;
	}
}