/// <summary> /// Go through all the ships and let them update. /// </summary> public void Update(GameTime gameTime) { Mouse.GetState(); //Keyboard.GetState(); //Zoom logic if (Keyboard.WasKeyTyped(Keys.Z)) { if (Keyboard.IsKeyPressed(Keys.LeftShift)) { Vector2 oldSize = GameCamera.GetCameraBounds() - GameCamera.Position; GameCamera.Zoom *= 1.5f; Vector2 newSize = GameCamera.GetCameraBounds() - GameCamera.Position; GameCamera.Position += (oldSize - newSize) / 2; } else { if (GameCamera.Zoom > GameCamera.MaxZoom) { Vector2 oldSize = GameCamera.GetCameraBounds() - GameCamera.Position; GameCamera.Zoom /= 1.5f; Vector2 newSize = GameCamera.GetCameraBounds() - GameCamera.Position; //Debug.Log(oldSize - newSize); GameCamera.Position += (oldSize - newSize) / 2; } } Debug.Log("Camera zoom: " + GameCamera.Zoom); } //Camera drag movement. if (Mouse.MouseButtonDown(Mouse.MouseButton.Left)) { mouseRightFlag = true; mouseRightClickedPosition = GameCamera.Position + Mouse.GetState().Position.ToVector2() / GameCamera.Zoom; Debug.Log("Mouse Clicked Position: " + mouseRightClickedPosition); } if (Mouse.IsButtonPressed(Mouse.MouseButton.Left)) { if (mouseRightFlag) { GameCamera.Position = (mouseRightClickedPosition - Mouse.GetState().Position.ToVector2() / GameCamera.Zoom); } } if (Mouse.MouseButtonUp(Mouse.MouseButton.Left)) { //Debug.Log("Mouse Released Position: " + Mouse.GetState().Position.ToVector2()); mouseRightFlag = false; GameCamera.Position = (mouseRightClickedPosition - Mouse.GetState().Position.ToVector2() / GameCamera.Zoom); } foreach (Ship ship in ships) { ship.Update(gameTime); } //Debug.Log(cam.Position); }