diff --git a/isometric-park-fna/Engines/InputEngine.cs b/isometric-park-fna/Engines/InputEngine.cs --- a/isometric-park-fna/Engines/InputEngine.cs +++ b/isometric-park-fna/Engines/InputEngine.cs @@ -4,6 +4,8 @@ using Microsoft.Xna.Framework.Graphics; using Microsoft.Xna.Framework.Input; +using ImGuiNET; + using Encompass; using isometricparkfna.Messages; @@ -59,6 +61,8 @@ var viewWidth = gdm.PreferredBackBufferWidth; var viewHeight = gdm.PreferredBackBufferHeight; + ImGuiIOPtr io = ImGui.GetIO(); + foreach (var entity in ReadEntities()) { var state = GetComponent(entity).isPlaying; @@ -242,27 +246,29 @@ #endregion #region mouse_click - if (mouseCur.RightButton == ButtonState.Pressed && mousePrev.RightButton == ButtonState.Released) - { - SendMessage(new JumpCameraMessage {Movement = original_point}); - } + if (!io.WantCaptureMouse) { + if (mouseCur.RightButton == ButtonState.Pressed && mousePrev.RightButton == ButtonState.Released) + { + SendMessage(new JumpCameraMessage {Movement = original_point}); + } - if (mouseCur.LeftButton == ButtonState.Pressed && mousePrev.LeftButton == ButtonState.Released - // && keyboardCur.IsKeyDown(Keys.LeftShift) - ) - { - SendMessage(new SpawnSelection {Start = CellMap.calculateMousegrid(original_point)}); - } + if (mouseCur.LeftButton == ButtonState.Pressed && mousePrev.LeftButton == ButtonState.Released + // && keyboardCur.IsKeyDown(Keys.LeftShift) + ) + { + SendMessage(new SpawnSelection {Start = CellMap.calculateMousegrid(original_point)}); + } - if ( mouseCur.LeftButton == ButtonState.Released && mousePrev.LeftButton == ButtonState.Pressed ) - { - SendMessage(new AdjustSelection {Type = AdjustmentType.Complete }); - } + if ( mouseCur.LeftButton == ButtonState.Released && mousePrev.LeftButton == ButtonState.Pressed ) + { + SendMessage(new AdjustSelection {Type = AdjustmentType.Complete }); + } - if (mouseCur.LeftButton == ButtonState.Pressed && mousePrev.LeftButton == ButtonState.Pressed) - { - SendMessage(new AdjustSelection { End = CellMap.calculateMousegrid(original_point)}); - } + if (mouseCur.LeftButton == ButtonState.Pressed && mousePrev.LeftButton == ButtonState.Pressed) + { + SendMessage(new AdjustSelection { End = CellMap.calculateMousegrid(original_point)}); + } + }