//! constructor
		CSSceneNodeAnimatorFPS::CSSceneNodeAnimatorFPS(gui::ICursorControl* cursorControl,
			f32 rotateSpeed, f32 moveSpeed, f32 jumpSpeed,
			SKeyMap* keyMapArray, u32 keyMapSize, bool noVerticalMovement, bool invertY)
			: CursorControl(cursorControl), MaxVerticalAngle(88.0f),
			MoveSpeed(moveSpeed), RotateSpeed(rotateSpeed), JumpSpeed(jumpSpeed),
			MouseYDirection(invertY ? -1.0f : 1.0f),
			LastAnimationTime(0), firstUpdate(true), firstInput(true), NoVerticalMovement(noVerticalMovement)
		{
#ifdef _DEBUG
			setDebugName("CCameraSceneNodeAnimatorFPS");
#endif

			if (CursorControl)
				CursorControl->grab();

			allKeysUp();

			// create key map
			if (!keyMapArray || !keyMapSize)
			{
				// create default key map
				KeyMap.push_back(SKeyMap(EKA_MOVE_FORWARD, irr::KEY_UP));
				KeyMap.push_back(SKeyMap(EKA_MOVE_BACKWARD, irr::KEY_DOWN));
				KeyMap.push_back(SKeyMap(EKA_STRAFE_LEFT, irr::KEY_LEFT));
				KeyMap.push_back(SKeyMap(EKA_STRAFE_RIGHT, irr::KEY_RIGHT));
				KeyMap.push_back(SKeyMap(EKA_JUMP_UP, irr::KEY_KEY_J));
			}
			else
			{
				// create custom key map
				setKeyMap(keyMapArray, keyMapSize);
			}
		}
Пример #2
0
void KeyBoard::doButtonClicked(int idx)
{
	qDebug() << m_allKeys.at(idx)->text();

	if (m_allKeys.at(idx)->text() == "Caps") {
		m_caps = !m_caps;
		if (m_caps) {
			setKeyMap(en_upper_keymap);
		} else {
			setKeyMap(en_lower_keymap);
		}
	} else if (m_allKeys.at(idx)->text() == "123") {
		setKeyMap(en_number_keymap);
	} else if (m_allKeys.at(idx)->text() == "en/cn") {
		setKeyMap(en_lower_keymap);
	}
}
Пример #3
0
void RenderState::loadManagedAssembly() {
    clearLoadedMods();

    Interop::ReloadAssembly();
    if (Interop::OK()) {
        setKeyMap();
    }
}