diff --git a/src/Blaze-Brigade/Blaze_Brigade/Blaze_Brigade.csproj.Debug.cachefile b/src/Blaze-Brigade/Blaze_Brigade/Blaze_Brigade.csproj.Debug.cachefile index 1a31e6f0a4b1930f9e43de2a9dd4bd6e532e1c72..a50d9003811b1159d2bf78477bdf340e33012d9c 100644 --- a/src/Blaze-Brigade/Blaze_Brigade/Blaze_Brigade.csproj.Debug.cachefile +++ b/src/Blaze-Brigade/Blaze_Brigade/Blaze_Brigade.csproj.Debug.cachefile @@ -1,6 +1,6 @@ Content\charSprite.xnb -Content\MenuImage.xnb Content\Game_Map.xnb +Content\MenuImage.xnb Content\attackableNode.xnb Content\moveableNode.xnb Content\attack.xnb diff --git a/src/Blaze-Brigade/Blaze_Brigade/MouseHandler.cs b/src/Blaze-Brigade/Blaze_Brigade/MouseHandler.cs index 52dc8b4c5792c37a8344f4d30889827d4c61251a..a2aaf8f013859e0c5709e9edb46f7c33404cedb5 100644 --- a/src/Blaze-Brigade/Blaze_Brigade/MouseHandler.cs +++ b/src/Blaze-Brigade/Blaze_Brigade/MouseHandler.cs @@ -6,6 +6,8 @@ using Microsoft.Xna.Framework.Input; using Microsoft.Xna.Framework; using Model; +using System.Threading; +using System.Diagnostics; namespace Controller { @@ -96,14 +98,60 @@ namespace Controller int positionX = (int)Math.Floor(position.X / 32); int positionY = (int)Math.Floor(position.Y / 32); + int currentX = gameFunction.getSelectedUnit().getPosition().Item1; + int currentY = gameFunction.getSelectedUnit().getPosition().Item2; + // if new position is different from old position, set unit to new position if (!(gameFunction.getSelectedUnit().getPosition() == new Tuple<int, int>(positionX, positionY))) { - gameFunction.getSelectedUnit().setPosition(positionX, positionY); + + if (gameFunction.getSelectedUnit().getPosition().Item1 < positionX) { + for (currentX = gameFunction.getSelectedUnit().getPosition().Item1; currentX <= positionX; currentX++) + { + Thread.Sleep(500); + gameFunction.getSelectedUnit().setPosition(currentX, currentY); + Debug.Write("X is: " + currentX); + } + }else{ + for (currentX = gameFunction.getSelectedUnit().getPosition().Item1; currentX >= positionX; currentX--) + { + Thread.Sleep(500); + gameFunction.getSelectedUnit().setPosition(currentX, currentY); + Debug.Write("X is: " + currentX); + } + } + + + + if (gameFunction.getSelectedUnit().getPosition().Item2 < positionY) + { + for (currentY = gameFunction.getSelectedUnit().getPosition().Item2; currentY <= positionY; currentY++) + { + Thread.Sleep(500); + gameFunction.getSelectedUnit().setPosition(currentX, currentY); + Debug.Write("Y is: " + currentY); + } + } + else + { + for (currentY = gameFunction.getSelectedUnit().getPosition().Item2; currentY >= positionY; currentY--) + { + Thread.Sleep(500); + gameFunction.getSelectedUnit().setPosition(currentX, currentY); + Debug.Write("Y is: " + currentY); + } + } + + gameFunction.getSelectedUnit().setClickedOn(false); } } + public void Draw(GameTime gametime) + { + + } + public void setAnimating(bool animating) { isAnimating = animating;