Exemple #1
0
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;
}
Exemple #2
0
//------------------------------------------------------------------------------------------------
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;
}