protected override void OnUpdate(GameTime gameTime) { MouseState State = Mouse.GetState(); if (State.LeftButton == ButtonState.Pressed && OldState.LeftButton != ButtonState.Pressed) { var Entity = SceneManager.ActiveScene.GetEntityAtPosition(new Point(State.X + (int)Player.Camera.Position.X, State.Y + (int)Player.Camera.Position.Y)); if (Entity != null) { if (!CurrentCamera.IsDisposed) { CurrentCamera.Dispose(); } CurrentCamera = new ChaseCameraComponent(Player.Camera); Entity.Components.Add(CurrentCamera); } } if (State.RightButton == ButtonState.Pressed && OldState.RightButton != ButtonState.Pressed) { var Entity = SceneManager.ActiveScene.GetEntityAtPosition(new Point(State.X + (int)Player.Camera.Position.X, State.Y + (int)Player.Camera.Position.Y)); if (Entity != null) { foreach (var OtherEntity in SceneManager.ActiveScene.Entities.ToArray()) { if (OtherEntity != Entity && !CorvusGame.Instance.Players.Any(c => c.Character == OtherEntity)) { OtherEntity.Dispose(); } } } } }
private void ClearCameraPressed(BindState State) { if (State != BindState.Pressed) { return; } if (!CurrentCamera.IsDisposed) { CurrentCamera.Dispose(); } Player.Character.Components.Add((CurrentCamera = new ChaseCameraComponent(Player.Camera))); }