From f4581ae0602b30e906f412994c1a49697b1bf300 Mon Sep 17 00:00:00 2001 From: Thien Trandinh <trandit@mcmaster.ca> Date: Sun, 30 Oct 2016 21:35:17 -0400 Subject: [PATCH] Added delay between each move, TODO: get sprite to update on move --- .../Blaze_Brigade.csproj.Debug.cachefile | 2 +- .../Blaze_Brigade/MouseHandler.cs | 50 ++++++++++++++++++- 2 files changed, 50 insertions(+), 2 deletions(-) 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 1a31e6f..a50d900 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 52dc8b4..a2aaf8f 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; -- GitLab