public override void UpdateEditor(GameTime gameTime) { if (WorldViewer.self.ContainsMouse && !WorldViewer.self.MouseOverForm) { RayCast(gameTime); } if (MyCamera.get() == null) { MyCamera.set(FindObject(typeof(Camera2DObject))); if (MyCamera.get() != null) { if (EditorSelected) { UpdateSelected(); } } else { Camera2DObject camera = new Camera2DObject(); ParentLevel.AddObject(camera, this); MyCamera.set(camera); camera.Name.set("EditorCamera"); } } if (ParentLevel.LevelForEditing) { base.UpdateEditor(gameTime); } }
private void SetCamera() { Camera2DObject o = (Camera2DObject)MyCamera.get(); if (o != null) { DrawCamera = o.MyCamera; DrawCamera.SetSize(WindowSize); } }
public override void Update(GameTime gameTime, Window Updater) { if (ParentScene.MyCamera.get() != null) { editorCamera = (Camera2DObject)ParentScene.MyCamera.get(); } if (Updater.Size.X != TopRightCorner.X) { TopRightCorner.X = Updater.Size.X; CreateForms(TopRightCorner); } else if (CurrentMode != LockMode.None) { if (MouseManager.mouseState.LeftButton == ButtonState.Pressed) { if (CurrentMode == LockMode.Scale) { editorCamera.ZoomDistance.add(((MouseManager.MousePosition - MouseLockPosition).X + (MouseManager.MousePosition - MouseLockPosition).Y) * ZoomLock / 1000); } if (CurrentMode == LockMode.Rotate) { editorCamera.Rotation.add(MathHelper.ToRadians(MouseManager.MousePosition.Y - MouseLockPosition.Y)); } if (CurrentMode == LockMode.MoveAll) { editorCamera.Position.add((MouseLockPosition - MouseManager.MousePosition) / editorCamera.MyCamera.getZoom()); } Mouse.SetPosition((int)MouseLockPosition.X, (int)MouseLockPosition.Y); Updater.NeedsToRedraw = true; } else { CurrentMode = LockMode.None; Game1.self.IsMouseVisible = true; } } base.Update(gameTime, Updater); }