public override void _PhysicsProcess(float delta)
        {
            var positionChange    = AreMoveInputsPressed() ? MoveWindowWithKeyboard() : MoveWindowWithMouse();
            var newCameraPosition = camera.GetPosition() + positionChange * mouseSensitivity;

            if (newCameraPosition.x < 0)
            {
                newCameraPosition.x = 0;
            }

            if (newCameraPosition.y < 0)
            {
                newCameraPosition.y = 0;
            }

            if (newCameraPosition.x > 10150)   //TODO: if we have some time left: replace this hardcoded values with calculated ones. Somehow `GameConstants.BackgroundImageWidth + 250 - GetViewport().GetVisibleRect().Size.x` isn't correct
            {
                newCameraPosition.x = 10150;
            }

            if (newCameraPosition.y > 11280)   //TODO: if we have some time left: replace this hardcoded values with calculated ones. Somehow `GameConstants.BackgroundImageHeight - GetViewport().GetVisibleRect().Size.y` isn't correct
            {
                newCameraPosition.y = 11280;
            }

            camera.SetPosition(newCameraPosition);
//            var transform = new Transform2D(uiContainerCanvasLayer.Transform.x, uiContainerCanvasLayer.Transform.y, -camera.GetGlobalPosition() + uiContainerInitialOffset);
//            uiContainerCanvasLayer.SetTransform(transform);
        }
Example #2
0
 public override void _Process(float delta)
 {
     if (clicked)
     {
         Vector2 mp = GetViewport().GetMousePosition();
         //Dragging:
         if (dragging)
         {
             camPos = new Vector2(camPos.x + (clickedPos.x - mp.x) * zlvl, camPos.y + (clickedPos.y - mp.y) * zlvl);
             cam.SetPosition(camPos);
             // GD.Print("New pos: X: " + cam.GetPosition().x + ", Y: " + cam.GetPosition().y);
             clickedPos = mp;
         }
         else if ((clickedPos.x + distance < mp.x || clickedPos.x - distance > mp.x) || (clickedPos.y + distance < mp.y || clickedPos.y - distance > mp.y))
         {
             dragging = true;
             camPos   = cam.GetPosition();
         }
     }
 }