void CameraC::update(const float & dt)
	{
		if (updatedFlag)
		{
			updateProjection();
			updatedFlag = false;
		}

		// need to control by mouse mah
		if (mouseControl) MouseControl(dt);

		// check what mode is this
		mode == FPS ? FPSTargetUpdate() : TPSPositionUpdate();

		// finally update my damn view
		updateView();

		frustum->setVP(getVP());
	}
void GameLoop( sf::RenderWindow &app, bool &bczyGra, bool &bMenu )
{
    ResetGame();

    bool pauseGame = false;

    sf::Mouse::setPosition( sf::Vector2i( Width / 2, Height / 2 ), app );
    app.setMouseCursorVisible( false );

    sounds[2].play();

    while ( bczyGra )
    {
        LoopTime = TimeLoop.GetElapsedSeconds();
        TimeLoop.Reset();

        sf::Event event;
        while (app.pollEvent(event))
        {
            if (event.type == sf::Event::Closed)
            {
                bczyGra = false;
                bMenu = false;
                app.close();
            }
            else if (event.type == sf::Event::Resized)
            {
                ChangeSize( event.size.width, event.size.height );
            }
            else if ( ( event.type == sf::Event::KeyReleased ) &&
                      ( event.key.code == sf::Keyboard::Escape ) ){
                bczyGra = false;
                bMenu = true;
            }

            if ( ( ( event.type == sf::Event::JoystickButtonReleased ) &&
                 ( event.joystickButton.button == 0 ) )  ||
                ( event.type == sf::Event::KeyReleased && event.key.code == sf::Keyboard::P ) ){
                pauseGame = !pauseGame;
                if ( pauseGame == true ) {
                    app.setMouseCursorVisible( true );
                    sounds[2].pause();
                } else {
                    sf::Mouse::setPosition( sf::Vector2i( Width / 2, Height / 2 ), app );
                    app.setMouseCursorVisible( false );
                    LoopTime = 0.0f;
                    TimeLoop.Reset();
                    sounds[2].play();
                }
            }
        }

        KeyControl( LoopTime, app );
        if ( !pauseGame ) {
            MoveMouse( sf::Mouse::getPosition( app ).x, sf::Mouse::getPosition( app ).y, app );
            MouseControl( LoopTime );
            Joystick( LoopTime, app );
            if ( Player.getLife() < 0 ) {
                bczyGra = false;
                bMenu = true;
            }
            Logika( LoopTime );
            RenderScene();
            app.display();
        }
    }

    sounds[2].stop();
    hud.sendScore();
}