bool CTabBarClass::OnKeyboard(UINT messg, WPARAM wParam, LPARAM lParam) { //if (!IsShown()) return FALSE; -- всегда. Табы теперь есть в памяти BOOL lbAltPressed = isPressed(VK_MENU); if (messg == WM_KEYDOWN && wParam == VK_TAB) { if (!isPressed(VK_SHIFT)) SwitchNext(lbAltPressed); else SwitchPrev(lbAltPressed); return true; } else if (mb_InKeySwitching && messg == WM_KEYDOWN && !lbAltPressed && (wParam == VK_UP || wParam == VK_DOWN || wParam == VK_LEFT || wParam == VK_RIGHT)) { bool bRecent = gpSet->isTabRecent; gpSet->isTabRecent = false; BOOL bForward = (wParam == VK_RIGHT || wParam == VK_DOWN); Switch(bForward); gpSet->isTabRecent = bRecent; return true; } return false; }
//------------------------------------------------------------------------------------------------ std::vector<Bullet*> Person::StopFire() { std::vector<Bullet*> bullets; if (!mIsActive) return bullets; mIsFiring = false; mHasFired = false; if (mState == ATTACKING) { if (mGunIndex == GRENADE) { if (mGuns[mGunIndex]->mClipAmmo != 0) { float h = 24*sinf(mFacingAngle); float w = 24*cosf(mFacingAngle); float theta = mFacingAngle; float speed = 0.2f * mStateTime/(float)mGuns[mGunIndex]->mGun->mDelay; int type = HE; if (mGuns[mGunIndex]->mGun->mId == 25) { //FLASH type = FLASH; } else if (mGuns[mGunIndex]->mGun->mId == 26) { //HE type = HE; } else if (mGuns[mGunIndex]->mGun->mId == 27) { //SMOKE type = SMOKE; } Grenade* grenade = new Grenade(mX+w,mY+h,mX,mY,theta,speed,this,type); bullets.push_back(grenade); mBullets->push_back(grenade); SetState(NORMAL); gSfxManager->PlaySample(gFireInTheHoleSound,mX,mY); mGuns[mGunIndex]->mClipAmmo--; delete mGuns[mGunIndex]; mGuns[mGunIndex] = NULL; SwitchNext(); } } } return bullets; }