From b6218e46006c67b1b8c8524bdeb768aeee1bddcc Mon Sep 17 00:00:00 2001 From: Simon Holmberg Date: Tue, 25 Sep 2012 22:21:01 +0200 Subject: [PATCH] Selection indication --- DepthsBelow/DepthsBelow/MouseInput.cs | 12 ++++++++---- DepthsBelow/DepthsBelow/Soldier.cs | 14 +++++++++++++- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/DepthsBelow/DepthsBelow/MouseInput.cs b/DepthsBelow/DepthsBelow/MouseInput.cs index 157f129..40a3c22 100644 --- a/DepthsBelow/DepthsBelow/MouseInput.cs +++ b/DepthsBelow/DepthsBelow/MouseInput.cs @@ -33,6 +33,7 @@ namespace DepthsBelow public void Update(GameTime gameTime) { MouseState ms = Mouse.GetState(); + KeyboardState ks = Keyboard.GetState(); if (ms.LeftButton == ButtonState.Pressed) { @@ -49,11 +50,14 @@ namespace DepthsBelow if (ms.LeftButton == ButtonState.Released && selectionRectangle != Rectangle.Empty) { + if (!ks.IsKeyDown(Keys.LeftControl)) + core.soldier.Selected = false; - if (selectionRectangle.Intersects(core.soldier.GetComponent().Rectangle)) - { - core.soldier.selected = true; - } + if (selectionRectangle.Intersects(core.soldier.GetComponent().Rectangle)) + { + core.soldier.Selected = true; + } + selectionRectangle = Rectangle.Empty; } diff --git a/DepthsBelow/DepthsBelow/Soldier.cs b/DepthsBelow/DepthsBelow/Soldier.cs index b949fb2..78ba3c1 100644 --- a/DepthsBelow/DepthsBelow/Soldier.cs +++ b/DepthsBelow/DepthsBelow/Soldier.cs @@ -13,7 +13,19 @@ namespace DepthsBelow public class Soldier : Entity { Core game; - public bool selected = false; + private bool _selected; + public bool Selected + { + get + { + return _selected; + } + set + { + _selected = value; + this.GetComponent().Color = (value) ? Color.Blue : Color.HotPink; + } + } static Texture2D Texture; private KeyboardState lastKeyboardState;