Beispiel #1
0
void CWeaponKnife::OnAnimationEnd(u32 state)
{
	switch (state)
	{
	case eHiding:	SwitchState(eHidden);	break;
	case eFire: 
	case eFire2: 
		{
            if(m_attackStart) 
			{
				m_attackStart = false;
				if(GetState()==eFire)
					m_pHUD->animPlay(random_anim(mhud_attack_e), TRUE, this, GetState());
				else
					m_pHUD->animPlay(random_anim(mhud_attack2_e), TRUE, this, GetState());

				Fvector	p1, d; 
				p1.set(get_LastFP()); 
				d.set(get_LastFD());

				if(H_Parent()) 
					smart_cast<CEntity*>(H_Parent())->g_fireParams(this, p1,d);
				else break;

				KnifeStrike(p1,d);
			} 
			else 
				SwitchState(eIdle);
		}break;
	case eShowing:
	case eIdle:	
		SwitchState(eIdle);		break;	
	}
}
Beispiel #2
0
void CWeaponKnife::switch2_Attacking	(u32 state)
{
	if(m_bPending)	return;

	if(state==eFire)
		m_pHUD->animPlay(random_anim(mhud_attack),		FALSE, this, state);
	else //eFire2
		m_pHUD->animPlay(random_anim(mhud_attack2),		FALSE, this, state);

	m_attackStart	= true;
	m_bPending		= true;
}
Beispiel #3
0
void CWeaponPistol::PlayAnimReload	()
{	
	VERIFY(GetState()==eReload);
	if(m_opened){ 
		CWeaponPistol::WWPMotions& m = wwpm_current();
		m_pHUD->animPlay(random_anim(m.mhud_reload_empty), TRUE, this, GetState());
	}else{
		CWeaponMagazined::SWMmotions& m = swm_current();
		m_pHUD->animPlay(random_anim(m.mhud_reload), TRUE, this, GetState());
	}
	
	m_opened = false;		
}
Beispiel #4
0
void CWeaponPistol::PlayAnimIdle	()
{
	VERIFY(GetState()==eIdle);
	if(m_opened){ 
		CWeaponPistol::WWPMotions& m = wwpm_current();
		m_pHUD->animPlay(random_anim(m.mhud_empty), TRUE, NULL, GetState());
	}else{
		CActor* A = smart_cast<CActor*>(H_Parent());
		if(A && A->Holder()){
			MotionSVec* m = (IsZoomed())?&wm_mhud_r.mhud_idle_aim:&wm_mhud_r.mhud_idle;
			m_pHUD->animPlay(random_anim(*m), TRUE, NULL, GetState());
		}else
			inherited::PlayAnimIdle		();
	}
}
Beispiel #5
0
void CWeaponPistol::PlayAnimShoot	()
{
	VERIFY(GetState()==eFire || GetState()==eFire2);
	if(iAmmoElapsed > 1) 
	{
		CWeaponMagazined::SWMmotions& m = swm_current();
		m_pHUD->animPlay	(random_anim(m.mhud_shots), FALSE, this, GetState());
		m_opened = false;
	}
	else 
	{
		CWeaponPistol::WWPMotions& m = wwpm_current();
		m_pHUD->animPlay	(random_anim(m.mhud_shot_l), FALSE, this, GetState()); 
		m_opened = true; 
	}
}
Beispiel #6
0
void CWeaponPistol::PlayAnimShow	()
{
	VERIFY(GetState()==eShowing);
	if(iAmmoElapsed >= 1)
		m_opened = false;
	else
		m_opened = true;
		
	if(m_opened){ 
		CWeaponPistol::WWPMotions& m = wwpm_current();
		m_pHUD->animPlay(random_anim(m.mhud_show_empty),FALSE, this, GetState());
	}else{ 
		CWeaponMagazined::SWMmotions& m = swm_current();
		m_pHUD->animPlay(random_anim(m.mhud_show),FALSE, this, GetState());
	}
}
Beispiel #7
0
void CWeaponKnife::switch2_Hiding	()
{
	FireEnd					();
	VERIFY(GetState()==eHiding);
	m_pHUD->animPlay		(random_anim(mhud_hide), TRUE, this, GetState());
//	m_bPending				= true;
}
Beispiel #8
0
void CWeaponKnife::switch2_Idle	()
{
	VERIFY(GetState()==eIdle);

	m_pHUD->animPlay(random_anim(mhud_idle), TRUE, this, GetState());
	m_bPending = false;
}
Beispiel #9
0
void CWeaponKnife::onMovementChanged(ACTOR_DEFS::EMoveCommand cmd)
{
	if (g_actor->get_state() & mcSprint)
	{
		SetState(eIdle);
		m_pHUD->animPlay(random_anim(mhud_idle_sprint), TRUE, this,  eIdle);
	}
	else
		SwitchState(GetState() );
}
Beispiel #10
0
void CWeaponPistol::PlayAnimHide()
{
	VERIFY(GetState()==eHiding);
	if(m_opened) 
	{
		PlaySound			(sndClose,get_LastFP());
		CWeaponPistol::WWPMotions& m = wwpm_current();
		m_pHUD->animPlay	(random_anim(m.mhud_close), TRUE, this, GetState());
	} 
	else 
		inherited::PlayAnimHide();
}
Beispiel #11
0
void CArtefact::OnStateSwitch		(u32 S)
{
	inherited::OnStateSwitch	(S);
	switch(S){
	case eShowing:
		{
			m_pHUD->animPlay(random_anim(m_anim_show),		FALSE, this, S);
		}break;
	case eHiding:
		{
			m_pHUD->animPlay(random_anim(m_anim_hide),		FALSE, this, S);
		}break;
	case eActivating:
		{
			m_pHUD->animPlay(random_anim(m_anim_activate),	FALSE, this, S);
		}break;
	case eIdle:
		{
			PlayAnimIdle();
		}break;
	};
}
Beispiel #12
0
void CWeaponMagazined::PlayAnimIdle()
{
	MotionSVec* m = NULL;
	if (IsZoomed())
	{
		m = &mhud.mhud_idle_aim;
	}
	else{
		m = &mhud.mhud_idle;
		if (TryPlayAnimIdle()) return;
	}

	VERIFY(GetState() == eIdle);
	m_pHUD->animPlay(random_anim(*m), TRUE, NULL, GetState());
}
Beispiel #13
0
bool CWeaponMagazined::TryPlayAnimIdle()
{
	VERIFY(GetState() == eIdle);
	if (!IsZoomed()){
		CActor* pActor = smart_cast<CActor*>(H_Parent());
		if (pActor)
		{
			CEntity::SEntityState st;
			pActor->g_State(st);
			if (st.bSprint && mhud.mhud_idle_sprint.size())
			{
				m_pHUD->animPlay(random_anim(mhud.mhud_idle_sprint), TRUE, NULL, GetState());
				return true;
			}
		}
	}
	return false;
}
Beispiel #14
0
void CWeaponMagazined::PlayAnimShoot()
{
	VERIFY(GetState() == eFire || GetState() == eFire2);
	m_pHUD->animPlay(random_anim(mhud.mhud_shots), TRUE, this, GetState());
}
Beispiel #15
0
void CWeaponMagazined::PlayAnimReload()
{
	VERIFY(GetState() == eReload);
	m_pHUD->animPlay(random_anim(mhud.mhud_reload), TRUE, this, GetState());
}
Beispiel #16
0
void CWeaponMagazined::PlayAnimHide()
{
	VERIFY(GetState() == eHiding);
	m_pHUD->animPlay(random_anim(mhud.mhud_hide), TRUE, this, GetState());
}
Beispiel #17
0
//виртуальные функции для проигрывания анимации HUD
void CWeaponMagazined::PlayAnimShow()
{
	VERIFY(GetState() == eShowing);
	m_pHUD->animPlay(random_anim(mhud.mhud_show), FALSE, this, GetState());
}
Beispiel #18
0
void CWeaponKnife::switch2_Showing	()
{
	VERIFY(GetState()==eShowing);
	m_pHUD->animPlay		(random_anim(mhud_show), FALSE, this, GetState());
//	m_bPending				= true;
}
Beispiel #19
0
void CArtefact::PlayAnimIdle()
{
	m_pHUD->animPlay(random_anim(m_anim_idle),		FALSE, NULL, eIdle);
}