void CWeaponMagazinedWGrenade::OnMagazineEmpty() { if(GetState() == eIdle) { OnEmptyClick (); } }
bool CWeaponMagazinedWGrenade::Action(s32 cmd, u32 flags) { if(m_bGrenadeMode && cmd==kWPN_FIRE) { if(IsPending()) return false; if(flags&CMD_START) { if(iAmmoElapsed) LaunchGrenade (); else Reload (); if(GetState() == eIdle) OnEmptyClick (); } return true; } if(inherited::Action(cmd, flags)) return true; switch(cmd) { case kWPN_FUNC: { if(flags&CMD_START && !IsPending()) SwitchState(eSwitch); return true; } } return false; }
void CWeaponMagazined::state_Misfire(float /**dt/**/) { OnEmptyClick(); SwitchState(eIdle); bMisfire = true; UpdateSounds(); }
void CWeaponMagazined::switch2_Empty() { OnZoomOut(); if (!TryReload()) { OnEmptyClick(); } else { inherited::FireEnd(); } }
void CWeaponMagazined::OnMagazineEmpty() { //попытка стрелять когда нет патронов if (GetState() == eIdle) { OnEmptyClick(); return; } if (GetNextState() != eMagEmpty && GetNextState() != eReload) { SwitchState(eMagEmpty); } inherited::OnMagazineEmpty(); }